--- /dev/null
+/*\r
+ \r
+ Derby - Class org.apache.derby.impl.jdbc.EmbedResultSet40\r
+ \r
+ Licensed to the Apache Software Foundation (ASF) under one or more\r
+ contributor license agreements. See the NOTICE file distributed with\r
+ this work for additional information regarding copyright ownership.\r
+ The ASF licenses this file to you under the Apache License, Version 2.0\r
+ (the "License"); you may not use this file except in compliance with\r
+ the License. You may obtain a copy of the License at\r
+ \r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+ \r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+ \r
+ */\r
+\r
+package org.apache.derby.impl.jdbc;\r
+\r
+import org.apache.derby.iapi.sql.ResultSet;\r
+\r
+import java.io.Reader;\r
+import java.sql.NClob;\r
+import java.sql.RowId;\r
+import java.sql.SQLException;\r
+import java.sql.SQLXML;\r
+import java.sql.Statement;\r
+\r
+import org.apache.derby.iapi.reference.SQLState;\r
+\r
+/**\r
+ * JDBC 4 specific methods that cannot be implemented in superclasses and\r
+ * unimplemented JDBC 4 methods.\r
+ * In general, the implementations should be pushed to the superclasses. This\r
+ * is not possible if the methods use objects or features not available in the\r
+ * Java version associated with the earlier JDBC version, since Derby classes\r
+ * are compiled with the lowest possible Java version.\r
+ */\r
+public class EmbedResultSet40 extends org.apache.derby.impl.jdbc.EmbedResultSet20{\r
+ \r
+ /** Creates a new instance of EmbedResultSet40 */\r
+ public EmbedResultSet40(org.apache.derby.impl.jdbc.EmbedConnection conn,\r
+ ResultSet resultsToWrap,\r
+ boolean forMetaData,\r
+ org.apache.derby.impl.jdbc.EmbedStatement stmt,\r
+ boolean isAtomic)\r
+ throws SQLException {\r
+ \r
+ super(conn, resultsToWrap, forMetaData, stmt, isAtomic);\r
+ }\r
+ \r
+ public RowId getRowId(int columnIndex) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ \r
+ public RowId getRowId(String columnName) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNCharacterStream(int columnIndex, Reader x)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNCharacterStream(int columnIndex, Reader x, long length)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNCharacterStream(String columnName, Reader x)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNCharacterStream(String columnName, Reader x, long length)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNString(int columnIndex, String nString) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void updateNString(String columnName, String nString) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void updateNClob(int columnIndex, NClob nClob) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNClob(int columnIndex, Reader reader)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void updateNClob(String columnName, NClob nClob) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateNClob(String columnName, Reader reader)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public Reader getNCharacterStream(int columnIndex) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public Reader getNCharacterStream(String columnName) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public NClob getNClob(int i) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public NClob getNClob(String colName) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public String getNString(int columnIndex) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public String getNString(String columnName) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateRowId(int columnIndex, RowId x) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void updateRowId(String columnName, RowId x) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public SQLXML getSQLXML(int columnIndex) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public SQLXML getSQLXML(String colName) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void updateSQLXML(String columnName, SQLXML xmlObject) throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ /**\r
+ * Returns false unless <code>interfaces</code> is implemented \r
+ * \r
+ * @param interfaces a Class defining an interface.\r
+ * @return true if this implements the interface or \r
+ * directly or indirectly wraps an object \r
+ * that does.\r
+ * @throws java.sql.SQLException if an error occurs while determining \r
+ * whether this is a wrapper for an object \r
+ * with the given interface.\r
+ */\r
+ public boolean isWrapperFor(Class<?> interfaces) throws SQLException {\r
+ checkIfClosed("isWrapperFor");\r
+ return interfaces.isInstance(this);\r
+ }\r
+ \r
+ /**\r
+ * Returns <code>this</code> if this class implements the interface\r
+ *\r
+ * @param interfaces a Class defining an interface\r
+ * @return an object that implements the interface\r
+ * @throws java.sql.SQLExption if no object if found that implements the \r
+ * interface\r
+ */\r
+ public <T> T unwrap(java.lang.Class<T> interfaces) \r
+ throws SQLException{\r
+ checkIfClosed("unwrap");\r
+ //Derby does not implement non-standard methods on \r
+ //JDBC objects\r
+ //hence return this if this class implements the interface \r
+ //or throw an SQLException\r
+ try {\r
+ return interfaces.cast(this);\r
+ } catch (ClassCastException cce) {\r
+ throw newSQLException(SQLState.UNABLE_TO_UNWRAP,interfaces);\r
+ }\r
+ }\r
+ \r
+ /**\r
+ *\r
+ * Updates the designated column using the given Reader object,\r
+ * which is the given number of characters long.\r
+ *\r
+ * @param columnIndex -\r
+ * the first column is 1, the second is 2\r
+ * @param x -\r
+ * the new column value\r
+ * @param length -\r
+ * the length of the stream\r
+ *\r
+ * @exception SQLException\r
+ * Feature not implemented for now.\r
+ */\r
+ public void updateNClob(int columnIndex, Reader x, long length)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ /**\r
+ * Updates the designated column using the given Reader object,\r
+ * which is the given number of characters long.\r
+ *\r
+ * @param columnName -\r
+ * the Name of the column to be updated\r
+ * @param x -\r
+ * the new column value\r
+ * @param length -\r
+ * the length of the stream\r
+ *\r
+ * @exception SQLException\r
+ * Feature not implemented for now.\r
+ *\r
+ */\r
+ public void updateNClob(String columnName, Reader x, long length)\r
+ throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+}\r