Package org.firebirdsql.jdbc
Class FBParameterMetaData
- java.lang.Object
-
- org.firebirdsql.jdbc.AbstractFieldMetaData
-
- org.firebirdsql.jdbc.FBParameterMetaData
-
- All Implemented Interfaces:
java.sql.ParameterMetaData
,java.sql.Wrapper
,FirebirdParameterMetaData
public class FBParameterMetaData extends AbstractFieldMetaData implements FirebirdParameterMetaData
An object that can be used to get information about the types and properties for each parameter marker in aPreparedStatement
object.- Author:
- Nickolay Samofatov, Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.firebirdsql.jdbc.AbstractFieldMetaData
AbstractFieldMetaData.ExtendedFieldInfo, AbstractFieldMetaData.FieldKey
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FBParameterMetaData(RowDescriptor rowDescriptor, FBConnection connection)
Creates a newFBParameterMetaData
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo>
getExtendedFieldInfo(FBConnection connection)
This method retrieves extended information from the system tables in a database.java.lang.String
getParameterClassName(int parameter)
int
getParameterCount()
int
getParameterMode(int parameter)
int
getParameterType(int parameter)
java.lang.String
getParameterTypeName(int parameter)
int
getPrecision(int parameter)
int
getScale(int parameter)
int
isNullable(int parameter)
boolean
isSigned(int parameter)
-
Methods inherited from class org.firebirdsql.jdbc.AbstractFieldMetaData
estimateFixedPrecision, getExtFieldInfo, getFieldClassName, getFieldCount, getFieldDescriptor, getFieldType, getFieldTypeName, getPrecisionInternal, getRowDescriptor, getScaleInternal, isSignedInternal, isWrapperFor, unwrap
-
-
-
-
Constructor Detail
-
FBParameterMetaData
protected FBParameterMetaData(RowDescriptor rowDescriptor, FBConnection connection) throws java.sql.SQLException
Creates a newFBParameterMetaData
instance.- Parameters:
rowDescriptor
- a row descriptorconnection
- aFBConnection
value- Throws:
java.sql.SQLException
- if an error occurs
-
-
Method Detail
-
getParameterCount
public int getParameterCount() throws java.sql.SQLException
- Specified by:
getParameterCount
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
isNullable
public int isNullable(int parameter) throws java.sql.SQLException
- Specified by:
isNullable
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
isSigned
public boolean isSigned(int parameter) throws java.sql.SQLException
- Specified by:
isSigned
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getPrecision
public int getPrecision(int parameter) throws java.sql.SQLException
NOTE For
NUMERIC
andDECIMAL
the reported precision is the maximum precision allowed by the underlying storage data type, it is not the declared precision.- Specified by:
getPrecision
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getScale
public int getScale(int parameter) throws java.sql.SQLException
- Specified by:
getScale
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getParameterType
public int getParameterType(int parameter) throws java.sql.SQLException
- Specified by:
getParameterType
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getParameterTypeName
public java.lang.String getParameterTypeName(int parameter) throws java.sql.SQLException
- Specified by:
getParameterTypeName
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getParameterClassName
public java.lang.String getParameterClassName(int parameter) throws java.sql.SQLException
- Specified by:
getParameterClassName
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getParameterMode
public int getParameterMode(int parameter) throws java.sql.SQLException
- Specified by:
getParameterMode
in interfacejava.sql.ParameterMetaData
- Throws:
java.sql.SQLException
-
getExtendedFieldInfo
protected java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> getExtendedFieldInfo(FBConnection connection) throws java.sql.SQLException
This method retrieves extended information from the system tables in a database. Since this method is expensive, use it with care.FBParameterMetaData
does not support extended field info, so it always returns an empty Map.- Specified by:
getExtendedFieldInfo
in classAbstractFieldMetaData
- Returns:
- mapping between
AbstractFieldMetaData.FieldKey
instances andAbstractFieldMetaData.ExtendedFieldInfo
instances, or an empty Map if the metadata implementation does not support extended info. - Throws:
java.sql.SQLException
- if a database error occurs while obtaining extended field information.
-
-