public abstract class AbstractFieldMetaData
extends java.lang.Object
implements java.sql.Wrapper
FBResultSetMetaData
and
FBParameterMetaData
for methods common to both implementations.Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractFieldMetaData.ExtendedFieldInfo
This class is an old-fashion data structure that stores additional
information about fields in a database.
|
protected static class |
AbstractFieldMetaData.FieldKey
This class should be used as a composite key in an internal field
mapping structures.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractFieldMetaData(RowDescriptor rowDescriptor,
FBConnection connection) |
Modifier and Type | Method and Description |
---|---|
protected int |
estimateFixedPrecision(int fieldIndex) |
protected abstract java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> |
getExtendedFieldInfo(FBConnection connection)
This method retrieves extended information from the system tables in
a database.
|
protected AbstractFieldMetaData.ExtendedFieldInfo |
getExtFieldInfo(int columnIndex) |
protected java.lang.String |
getFieldClassName(int field) |
protected int |
getFieldCount()
Retrieves the number of fields in the object for which this
AbstractFieldMetaData object contains
information. |
protected FieldDescriptor |
getFieldDescriptor(int fieldIndex)
The
FieldDescriptor of the field with index fieldIndex . |
protected int |
getFieldType(int field) |
protected java.lang.String |
getFieldTypeName(int field) |
protected int |
getPrecisionInternal(int field)
Retrieves the designated parameter's specified column size.
|
protected RowDescriptor |
getRowDescriptor() |
protected int |
getScaleInternal(int field)
Retrieves the designated field's number of digits to right of the decimal point.
|
protected boolean |
isSignedInternal(int field)
Retrieves whether values for the designated field can be signed numbers.
|
boolean |
isWrapperFor(java.lang.Class<?> iface) |
<T> T |
unwrap(java.lang.Class<T> iface) |
protected AbstractFieldMetaData(RowDescriptor rowDescriptor, FBConnection connection)
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
java.sql.SQLException
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
java.sql.SQLException
protected final RowDescriptor getRowDescriptor()
protected final int getFieldCount()
AbstractFieldMetaData
object contains
information.protected final FieldDescriptor getFieldDescriptor(int fieldIndex)
FieldDescriptor
of the field with index fieldIndex
.fieldIndex
- 1-based index of a field in this metadata objectprotected final boolean isSignedInternal(int field)
field
- the first field is 1, the second is 2, ...true
if so; false
otherwiseprotected final int getScaleInternal(int field)
field
- the first field is 1, the second is 2, ...protected final java.lang.String getFieldClassName(int field) throws java.sql.SQLException
java.sql.SQLException
protected final java.lang.String getFieldTypeName(int field)
protected int getFieldType(int field)
protected final int getPrecisionInternal(int field) throws java.sql.SQLException
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.
field
- the first field is 1, the second is 2, ...java.sql.SQLException
- if a database access error occursprotected final int estimateFixedPrecision(int fieldIndex)
protected final AbstractFieldMetaData.ExtendedFieldInfo getExtFieldInfo(int columnIndex) throws java.sql.SQLException
java.sql.SQLException
protected abstract java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> getExtendedFieldInfo(FBConnection connection) throws java.sql.SQLException
AbstractFieldMetaData.FieldKey
instances and AbstractFieldMetaData.ExtendedFieldInfo
instances,
or an empty Map if the metadata implementation does not support extended info.java.sql.SQLException
- if a database error occurs while obtaining extended field information.Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.