Package org.firebirdsql.gds.ng.fields
Class RowDescriptor
- java.lang.Object
-
- org.firebirdsql.gds.ng.fields.RowDescriptor
-
- All Implemented Interfaces:
java.lang.Iterable<FieldDescriptor>
public final class RowDescriptor extends java.lang.Object implements java.lang.Iterable<FieldDescriptor>
The classRowDescriptor
is a java mapping of the XSQLDA server data structure used to describe the row metadata of one row for input or output.RowDescriptor is an immutable, values of a row are maintained separately in a
RowValue
.- Author:
- Mark Rotteveel
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RowValue
createDefaultFieldValues()
Creates aRowValue
instance with default (null
) values for each field.RowValue
createDeletedRowMarker()
Creates a deleted row marker.static RowDescriptor
createRowDescriptor(FieldDescriptor[] fieldDescriptors, DatatypeCoder datatypeCoder)
Creates an instance ofRowDescriptor
with the suppliedFieldDescriptor
instances.static RowDescriptor
empty(DatatypeCoder datatypeCoder)
Returns an empty row descriptor with the specified datatype coder.boolean
equals(java.lang.Object obj)
int
getCount()
DatatypeCoder
getDatatypeCoder()
IEncodingFactory
getEncodingFactory()
FieldDescriptor
getFieldDescriptor(int index)
Gets theFieldDescriptor
at the specified (0-based) index.java.util.List<FieldDescriptor>
getFieldDescriptors()
int
hashCode()
java.util.Iterator<FieldDescriptor>
iterator()
java.lang.String
toString()
-
-
-
Method Detail
-
getDatatypeCoder
public DatatypeCoder getDatatypeCoder()
- Returns:
- The
DatatypeCoder
.
-
getEncodingFactory
public IEncodingFactory getEncodingFactory()
- Returns:
- The
IEncodingFactory
.
-
getCount
public int getCount()
- Returns:
- The number of fields.
-
getFieldDescriptor
public FieldDescriptor getFieldDescriptor(int index)
Gets theFieldDescriptor
at the specified (0-based) index.- Parameters:
index
- 0-based index of the field- Returns:
- FieldDescriptor
- Throws:
java.lang.IndexOutOfBoundsException
- if index is not0 <= index < getCount
-
getFieldDescriptors
public java.util.List<FieldDescriptor> getFieldDescriptors()
- Returns:
- An unmodifiable List of the
FieldDescriptor
instances of this row.
-
createDefaultFieldValues
public RowValue createDefaultFieldValues()
Creates aRowValue
instance with default (null
) values for each field.All fields are marked as uninitialized.
The (0-based) index of the each field value in the
RowValue
corresponds with the (0-based) index of theFieldDescriptor
within thisRowDescriptor
.- Returns:
- Uninitialized and empty
RowValue
instance for a row described by this descriptor. - See Also:
RowValue.defaultFor(RowDescriptor)
-
createDeletedRowMarker
public RowValue createDeletedRowMarker()
Creates a deleted row marker.A deleted row marker is used in JDBC result sets for deleted rows, and to discern them from (updated) rows that are simply all
NULL
. This is for Jaybird internal implementation needs only.- Returns:
- Deleted row marker with
count
number of rows, all set to null
-
iterator
public java.util.Iterator<FieldDescriptor> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<FieldDescriptor>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
createRowDescriptor
public static RowDescriptor createRowDescriptor(FieldDescriptor[] fieldDescriptors, DatatypeCoder datatypeCoder)
Creates an instance ofRowDescriptor
with the suppliedFieldDescriptor
instances.- Parameters:
fieldDescriptors
- The field descriptors (array is cloned before use)datatypeCoder
- he datatype code for the connection that uses this RowDescriptor.- Returns:
RowDescriptor
instance
-
empty
public static RowDescriptor empty(DatatypeCoder datatypeCoder)
Returns an empty row descriptor with the specified datatype coder.- Parameters:
datatypeCoder
- The datatype code for the connection that uses this RowDescriptor.- Returns:
- Empty row descriptor
-
-