--- /dev/null
+/*\r
+ \r
+ Derby - Class org.apache.derby.impl.jdbc.EmbedPreparedStatement40\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 java.io.InputStream;\r
+import java.io.Reader;\r
+import java.sql.RowId;\r
+import java.sql.NClob;\r
+import java.sql.ParameterMetaData;\r
+import java.sql.SQLException;\r
+import java.sql.SQLXML;\r
+import java.sql.Types;\r
+import org.apache.derby.iapi.reference.SQLState;\r
+import org.apache.derby.iapi.error.StandardException;\r
+\r
+public class EmbedPreparedStatement40 extends EmbedPreparedStatement30 {\r
+ \r
+ public EmbedPreparedStatement40(EmbedConnection conn, String sql, boolean forMetaData,\r
+ int resultSetType, int resultSetConcurrency, int resultSetHoldability,\r
+ int autoGeneratedKeys, int[] columnIndexes, String[] columnNames) throws SQLException {\r
+ super(conn, sql, forMetaData, resultSetType, resultSetConcurrency, resultSetHoldability,\r
+ autoGeneratedKeys, columnIndexes, columnNames);\r
+ }\r
+ \r
+ public void setRowId(int parameterIndex, RowId x) throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void setNString(int index, String value) throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void setNCharacterStream(int parameterIndex, Reader value)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void setNCharacterStream(int index, Reader value, long length) throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void setNClob(int parameterIndex, Reader reader)\r
+ throws SQLException {\r
+ throw Util.notImplemented();\r
+ }\r
+\r
+ public void setNClob(int index, NClob value) throws SQLException{\r
+ throw Util.notImplemented();\r
+ } \r
+\r
+ public void setNClob(int parameterIndex, Reader reader, long length)\r
+ throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException{\r
+ throw Util.notImplemented();\r
+ }\r
+ \r
+ /**\r
+ * JDBC 4.0\r
+ *\r
+ * Retrieves the number, types and properties of this PreparedStatement\r
+ * object's parameters.\r
+ *\r
+ * @return a ParameterMetaData object that contains information about the\r
+ * number, types and properties of this PreparedStatement object's parameters.\r
+ * @exception SQLException if a database access error occurs\r
+ *\r
+ */\r
+ public ParameterMetaData getParameterMetaData()\r
+ throws SQLException\r
+ {\r
+ checkStatus();\r
+ return new EmbedParameterMetaData40(\r
+ getParms(), preparedStatement.getParameterTypes());\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
+ checkStatus();\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
+ checkStatus();\r
+ try {\r
+ return interfaces.cast(this);\r
+ } catch (ClassCastException cce) {\r
+ throw newSQLException(SQLState.UNABLE_TO_UNWRAP,interfaces);\r
+ }\r
+ }\r
+} \r
+\r