org.apache.derby.impl.jdbc
Class EmbedParameterSetMetaData

java.lang.Object
  extended by org.apache.derby.impl.jdbc.EmbedParameterSetMetaData
All Implemented Interfaces:
EngineParameterMetaData
Direct Known Subclasses:
EmbedParameterMetaData30

public class EmbedParameterSetMetaData
extends java.lang.Object
implements EngineParameterMetaData

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. For use of ParameterMetaData functionality in network server, please do not use this class directly. Instead use the method available on EnginePreparedStatement

See Also:
EngineParameterMetaData, EnginePreparedStatement

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.

Specified by:
getParameterCount in interface EngineParameterMetaData
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.

Specified by:
isNullable in interface EngineParameterMetaData
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.

Specified by:
isSigned in interface EngineParameterMetaData
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.

Specified by:
getPrecision in interface EngineParameterMetaData
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.

Specified by:
getScale in interface EngineParameterMetaData
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.

Specified by:
getParameterType in interface EngineParameterMetaData
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.

Specified by:
getParameterTypeName in interface EngineParameterMetaData
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.

Specified by:
getParameterClassName in interface EngineParameterMetaData
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.

Specified by:
getParameterMode in interface EngineParameterMetaData
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

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.