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 classRowDescriptoris 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.- Version:
- 3.0
- Author:
- Mark Rotteveel
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RowValuecreateDefaultFieldValues()Creates aRowValueinstance with default (null) values for each field.static RowDescriptorcreateRowDescriptor(FieldDescriptor[] fieldDescriptors, DatatypeCoder datatypeCoder)Creates an instance ofRowDescriptorwith the suppliedFieldDescriptorinstances.static RowDescriptorempty(DatatypeCoder datatypeCoder)Returns an empty row descriptor with the specified datatype coder.booleanequals(java.lang.Object obj)intgetCount()DatatypeCodergetDatatypeCoder()IEncodingFactorygetEncodingFactory()FieldDescriptorgetFieldDescriptor(int index)Gets theFieldDescriptorat the specified (0-based) index.java.util.List<FieldDescriptor>getFieldDescriptors()inthashCode()java.util.Iterator<FieldDescriptor>iterator()java.lang.StringtoString()
-
-
-
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 theFieldDescriptorat 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
FieldDescriptorinstances of this row.
-
createDefaultFieldValues
public RowValue createDefaultFieldValues()
Creates aRowValueinstance with default (null) values for each field.All fields are marked as uninitialized.
The (0-based) index of the each field value in the
RowValuecorresponds with the (0-based) index of theFieldDescriptorwithin thisRowDescriptor.- Returns:
- Uninitialized and empty
RowValueinstance for a row described by this descriptor. - See Also:
RowValue.defaultFor(RowDescriptor)
-
iterator
public java.util.Iterator<FieldDescriptor> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<FieldDescriptor>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
createRowDescriptor
public static RowDescriptor createRowDescriptor(FieldDescriptor[] fieldDescriptors, DatatypeCoder datatypeCoder)
Creates an instance ofRowDescriptorwith the suppliedFieldDescriptorinstances.- Parameters:
fieldDescriptors- The field descriptors (array is cloned before use)datatypeCoder- he datatype code for the connection that uses this RowDescriptor.- Returns:
RowDescriptorinstance
-
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
-
-