Class RowDescriptor

java.lang.Object
org.firebirdsql.gds.ng.fields.RowDescriptor
All Implemented Interfaces:
Iterable<FieldDescriptor>

public final class RowDescriptor extends Object implements Iterable<FieldDescriptor>
The class RowDescriptor 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.

Version:
3.0
Author:
Mark Rotteveel
  • Method Details

    • 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 the FieldDescriptor at the specified (0-based) index.
      Parameters:
      index - 0-based index of the field
      Returns:
      FieldDescriptor
      Throws:
      IndexOutOfBoundsException - if index is not 0 <= index < getCount
    • getFieldDescriptors

      public List<FieldDescriptor> getFieldDescriptors()
      Returns:
      An unmodifiable List of the FieldDescriptor instances of this row.
    • createDefaultFieldValues

      public RowValue createDefaultFieldValues()
      Creates a RowValue 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 the FieldDescriptor within this RowDescriptor.

      Returns:
      Uninitialized and empty RowValue instance for a row described by this descriptor.
      See Also:
    • iterator

      public Iterator<FieldDescriptor> iterator()
      Specified by:
      iterator in interface Iterable<FieldDescriptor>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • createRowDescriptor

      public static RowDescriptor createRowDescriptor(FieldDescriptor[] fieldDescriptors, DatatypeCoder datatypeCoder)
      Creates an instance of RowDescriptor with the supplied FieldDescriptor 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