java.lang.Object
org.firebirdsql.jdbc.AbstractFieldMetaData
- All Implemented Interfaces:
Wrapper
- Direct Known Subclasses:
FBParameterMetaData,FBResultSetMetaData
Base class for
FBResultSetMetaData and
FBParameterMetaData for methods common to both implementations.
This class is internal API of Jaybird. Future versions may radically change, move, or make inaccessible this type.
- Since:
- 3.0
- Author:
- David Jencks, Nickolay Samofatov, Mark Rotteveel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final recordStores additional information about fields in a database.protected static final recordA composite key for internal field mapping structures. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractFieldMetaData(RowDescriptor rowDescriptor, FBConnection connection) -
Method Summary
Modifier and TypeMethodDescriptionprotected final intestimateFixedPrecision(int fieldIndex) protected abstract Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> getExtendedFieldInfo(FBConnection connection) This method retrieves extended information from the system tables in a database.protected final AbstractFieldMetaData.ExtendedFieldInfogetExtFieldInfo(int columnIndex) protected final StringgetFieldClassName(int field) protected final intRetrieves the number of fields in the object for which thisAbstractFieldMetaDataobject contains information.protected final FieldDescriptorgetFieldDescriptor(int fieldIndex) TheFieldDescriptorof the field with indexfieldIndex.protected final intgetFieldType(int field) protected final StringgetFieldTypeName(int field) protected final intgetPrecisionInternal(int field) Retrieves the designated parameter's specified column size.protected final RowDescriptorprotected final intgetScaleInternal(int field) Retrieves the designated field's number of digits to right of the decimal point.protected final booleanisSignedInternal(int field) Retrieves whether values for the designated field can be signed numbers.final booleanisWrapperFor(Class<?> iface) final <T> T
-
Constructor Details
-
AbstractFieldMetaData
-
-
Method Details
-
isWrapperFor
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
getRowDescriptor
- Returns:
- The row descriptor.
-
getFieldCount
protected final int getFieldCount()Retrieves the number of fields in the object for which thisAbstractFieldMetaDataobject contains information.- Returns:
- the number of fields
-
getFieldDescriptor
TheFieldDescriptorof the field with indexfieldIndex.- Parameters:
fieldIndex- 1-based index of a field in this metadata object- Returns:
- field descriptor
-
isSignedInternal
protected final boolean isSignedInternal(int field) Retrieves whether values for the designated field can be signed numbers.- Parameters:
field- the first field is 1, the second is 2, ...- Returns:
trueif so;falseotherwise
-
getScaleInternal
protected final int getScaleInternal(int field) Retrieves the designated field's number of digits to right of the decimal point.0 is returned for data types where the scale is not applicable.
- Parameters:
field- the first field is 1, the second is 2, ...- Returns:
- scale
-
getFieldClassName
- Throws:
SQLException
-
getFieldTypeName
-
getFieldType
protected final int getFieldType(int field) -
getPrecisionInternal
Retrieves the designated parameter's specified column size.The returned value represents the maximum column size for the given parameter. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. 0 is returned for data types where the column size is not applicable.
- Parameters:
field- the first field is 1, the second is 2, ...- Returns:
- precision
- Throws:
SQLException- if a database access error occurs
-
estimateFixedPrecision
protected final int estimateFixedPrecision(int fieldIndex) -
getExtFieldInfo
protected final AbstractFieldMetaData.ExtendedFieldInfo getExtFieldInfo(int columnIndex) throws SQLException - Throws:
SQLException
-
getExtendedFieldInfo
protected abstract Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> getExtendedFieldInfo(FBConnection connection) throws SQLException This method retrieves extended information from the system tables in a database. Since this method is expensive, use it with care.- Returns:
- mapping between
AbstractFieldMetaData.FieldKeyinstances andAbstractFieldMetaData.ExtendedFieldInfoinstances, or an empty Map if the metadata implementation does not support extended info. - Throws:
SQLException- if a database error occurs while obtaining extended field information.
-