generatedkeysresultset.java

来自「RESIN 3.2 最新源码」· Java 代码 · 共 409 行

JAVA
409
字号
/* * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty * of NON-INFRINGEMENT.  See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the *   Free SoftwareFoundation, Inc. *   59 Temple Place, Suite 330 *   Boston, MA 02111-1307  USA * * @author Scott Ferguson */package com.caucho.db.jdbc;import com.caucho.db.sql.Data;import com.caucho.db.table.Column;import java.io.InputStream;import java.io.Reader;import java.sql.NClob;import java.sql.RowId;import java.sql.SQLException;import java.sql.SQLXML;import java.sql.Statement;import java.util.ArrayList;/** * The JDBC statement implementation. */public class GeneratedKeysResultSet extends AbstractResultSet {  private ArrayList<Data> _keys = new ArrayList<Data>();  private Statement _stmt;  private int _row;  /**   * Initialize the keys result set at the beginning of the query.   */  public void init(Statement stmt)  {    _stmt = stmt;    _row = 0;  }  /**   * Initialize the keys result set at the beginning of the query.   */  public void init()  {    _row = 0;  }  /**   * Returns the statement associated with the keys.   */  public java.sql.Statement getStatement()    throws SQLException  {    return _stmt;  }  public java.sql.ResultSetMetaData getMetaData()    throws SQLException  {    return null;  }  public boolean next()    throws SQLException  {    return _row++ == 0;  }  public boolean wasNull()    throws SQLException  {    return false;  }  /**   * Returns the index for the given column name.   */  public int findColumn(String columnName)    throws SQLException  {    for (int i = 0; i < _keys.size(); i++) {      Column column = _keys.get(i).getColumn();      if (column.getName().equals(columnName))	return i + 1;    }    throw new SQLException(L.l("`{0}' is an unknown column.", columnName));  }  /**   * Sets the specified column.   */  public void setColumn(int index, Column column)  {    Data data = addData(index);    data.setColumn(column);  }  /**   * Returns the generated string key.   */  public String getString(int columnIndex)    throws SQLException  {    Data data = _keys.get(columnIndex - 1);    return data.getString();  }  /**   * Sets the generated string key.   */  public void setString(int columnIndex, String value)    throws SQLException  {    Data data = addData(columnIndex);    data.setString(value);  }  /**   * Returns the generated integer key.   */  public int getInt(int columnIndex)    throws SQLException  {    Data data = _keys.get(columnIndex - 1);    return data.getInt();  }  /**   * Sets the generated int key.   */  public void setInt(int columnIndex, int value)    throws SQLException  {    Data data = addData(columnIndex);    data.setInt(value);  }  /**   * Returns the generated long key.   */  public long getLong(int columnIndex)    throws SQLException  {    Data data = _keys.get(columnIndex - 1);    return data.getLong();  }  /**   * Sets the generated long key.   */  public void setLong(int columnIndex, long value)    throws SQLException  {    Data data = addData(columnIndex);    data.setLong(value);  }  /**   * Extends the capacity for the data.   */  private Data addData(int columnIndex)  {    for (int i = _keys.size(); i < columnIndex; i++)      _keys.add(new Data());    return _keys.get(columnIndex - 1);  }  public void close()  {    _stmt = null;  }    public RowId getRowId(int columnIndex) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public RowId getRowId(String columnLabel) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateRowId(int columnIndex, RowId x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateRowId(String columnLabel, RowId x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public int getHoldability() throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public boolean isClosed() throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNString(int columnIndex, String nString) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNString(String columnLabel, String nString) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(int columnIndex, NClob nClob) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(String columnLabel, NClob nClob) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public NClob getNClob(int columnIndex) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public NClob getNClob(String columnLabel) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public SQLXML getSQLXML(int columnIndex) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public SQLXML getSQLXML(String columnLabel) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public String getNString(int columnIndex) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public String getNString(String columnLabel) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public Reader getNCharacterStream(int columnIndex) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public Reader getNCharacterStream(String columnLabel) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateClob(int columnIndex, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateClob(String columnLabel, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(int columnIndex, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public void updateNClob(String columnLabel, Reader reader) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public <T> T unwrap(Class<T> iface) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }    public boolean isWrapperFor(Class<?> iface) throws SQLException {        throw new UnsupportedOperationException("Not supported yet.");    }  @Override  public String toString()  {    return getClass().getSimpleName() + _keys;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?