org.apache.derby.impl.jdbc
Class EmbedParameterSetMetaData

java.lang.Object
  extended byorg.apache.derby.impl.jdbc.EmbedParameterSetMetaData
Direct Known Subclasses:
EmbedParameterMetaData30

public class EmbedParameterSetMetaData
extends java.lang.Object

This class immitates to implement the ParameterMetaData interface from JDBC3.0 We want to provide the functionality to JDKs before JDBC3.0. We put it here instead of in Local20 because we want to make it available for CallableStatement. It provides the parameter meta data for callable & prepared statements. The subclass in Local30 actually implements ParameterMetaData interface. Our middle-tier servers or tools (eg. drda network server) can use it this way: import org.apache.derby.impl.jdbc.EmbedPreparedStatement; import org.apache.derby.impl.jdbc.EmbedParameterSetMetaData; EmbedParameterSetMetaData pmeta = ((EmbedPreparedStatement) ps).getEmbedParameterSetMetaData();


Field Summary
private  int paramCount
           
private  ParameterValueSet pvs
           
private  DataTypeDescriptor[] types
           
 
Constructor Summary
protected EmbedParameterSetMetaData(ParameterValueSet pvs, DataTypeDescriptor[] types)
           
 
Method Summary
private  void checkPosition(int parameterIndex)
           
 java.lang.String getParameterClassName(int param)
          Retrieves the fully-qualified name of the Java class whose instances should be passed to the method PreparedStatement.setObject.
 int getParameterCount()
          Retrieves the number of parameters in the PreparedStatement object for which this ParameterMetaData object contains information.
 int getParameterMode(int param)
          Retrieves the designated parameter's mode.
 int getParameterType(int param)
          Retrieves the designated parameter's SQL type.
 java.lang.String getParameterTypeName(int param)
          Retrieves the designated parameter's database-specific type name.
 int getPrecision(int param)
          Retrieves the designated parameter's number of decimal digits.
 int getScale(int param)
          Retrieves the designated parameter's number of digits to right of the decimal point.
 int isNullable(int param)
          Retrieves whether null values are allowed in the designated parameter.
 boolean isSigned(int param)
          Retrieves whether values for the designated parameter can be signed numbers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pvs

private final ParameterValueSet pvs

types

private final DataTypeDescriptor[] types

paramCount

private final int paramCount
Constructor Detail

EmbedParameterSetMetaData

protected EmbedParameterSetMetaData(ParameterValueSet pvs,
                                    DataTypeDescriptor[] types)
Method Detail

getParameterCount

public int getParameterCount()
Retrieves the number of parameters in the PreparedStatement object for which this ParameterMetaData object contains information.

Returns:
the number of parameters

isNullable

public int isNullable(int param)
               throws java.sql.SQLException
Retrieves whether null values are allowed in the designated parameter.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
the nullability status of the given parameter; one of ParameterMetaData.parameterNoNulls, ParameterMetaData.parameterNullable, or ParameterMetaData.parameterNullableUnknown
Throws:
java.sql.SQLException - if a database access error occurs

isSigned

public boolean isSigned(int param)
                 throws java.sql.SQLException
Retrieves whether values for the designated parameter can be signed numbers.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
true if it can be signed numbers
Throws:
java.sql.SQLException - if a database access error occurs

getPrecision

public int getPrecision(int param)
                 throws java.sql.SQLException
Retrieves the designated parameter's number of decimal digits.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
precision
Throws:
java.sql.SQLException - if a database access error occurs

getScale

public int getScale(int param)
             throws java.sql.SQLException
Retrieves the designated parameter's number of digits to right of the decimal point.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
scale
Throws:
java.sql.SQLException - if a database access error occurs

getParameterType

public int getParameterType(int param)
                     throws java.sql.SQLException
Retrieves the designated parameter's SQL type.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
SQL type from java.sql.Types
Throws:
java.sql.SQLException - if a database access error occurs

getParameterTypeName

public java.lang.String getParameterTypeName(int param)
                                      throws java.sql.SQLException
Retrieves the designated parameter's database-specific type name.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
type the name used by the database. If the parameter type is a user-defined type, then a fully-qualified type name is returned.
Throws:
java.sql.SQLException - if a database access error occurs

getParameterClassName

public java.lang.String getParameterClassName(int param)
                                       throws java.sql.SQLException
Retrieves the fully-qualified name of the Java class whose instances should be passed to the method PreparedStatement.setObject.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
the fully-qualified name of the class in the Java programming language that would be used by the method PreparedStatement.setObject to set the value in the specified parameter. This is the class name used for custom mapping.
Throws:
java.sql.SQLException - if a database access error occurs

getParameterMode

public int getParameterMode(int param)
                     throws java.sql.SQLException
Retrieves the designated parameter's mode.

Parameters:
param - - the first parameter is 1, the second is 2, ...
Returns:
mode of the parameter; one of ParameterMetaData.parameterModeIn, ParameterMetaData.parameterModeOut, or ParameterMetaData.parameterModeInOut ParameterMetaData.parameterModeUnknown.
Throws:
java.sql.SQLException - if a database access error occurs

checkPosition

private void checkPosition(int parameterIndex)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.