Class IdentityFieldInfo

java.lang.Object
net.ontopia.persistence.proxy.IdentityFieldInfo
All Implemented Interfaces:
FieldHandlerIF, FieldInfoIF

public class IdentityFieldInfo extends Object implements FieldInfoIF
INTERNAL: A field that represents the identity of instances of a class. An identity field is a composite of one or more fields that together represent the identity of objects.

  • Field Details

    • parent_cinfo

      protected ClassInfoIF parent_cinfo
    • parent_class

      protected Class<?> parent_class
    • fields

      protected FieldInfoIF[] fields
    • fields_length

      protected int fields_length
    • value_columns

      protected String[] value_columns
    • column_count

      protected int column_count
    • getter

      protected Method getter
    • setter

      protected Method setter
    • sqlType

      protected int sqlType
  • Constructor Details

  • Method Details

    • getFields

      public FieldInfoIF[] getFields()
      INTERNAL: Returns the underlying FieldInfoIFs that the identity field spans.
    • getName

      public String getName()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the field name.
      Specified by:
      getName in interface FieldInfoIF
    • getIndex

      public int getIndex()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the value field index of this field. This is the id (index) used by transactions and persistent instances to refer to this particular object field.
      Specified by:
      getIndex in interface FieldInfoIF
    • getCardinality

      public int getCardinality()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the field cardinality.
      Specified by:
      getCardinality in interface FieldInfoIF
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns true if this field is read-only field.
      Specified by:
      isReadOnly in interface FieldInfoIF
    • isIdentityField

      public boolean isIdentityField()
      Description copied from interface: FieldHandlerIF
      INTERNAL: Returns true if the field handler references an object identity field.
      Specified by:
      isIdentityField in interface FieldHandlerIF
    • isCollectionField

      public boolean isCollectionField()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).
      Specified by:
      isCollectionField in interface FieldInfoIF
    • isPrimitiveField

      public boolean isPrimitiveField()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns true if the field is a primitive field. Field value must be of primitive type.
      Specified by:
      isPrimitiveField in interface FieldInfoIF
    • isReferenceField

      public boolean isReferenceField()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns true if the field is a reference field. Field value must be of identifiable type.
      Specified by:
      isReferenceField in interface FieldInfoIF
    • isAggregateField

      public boolean isAggregateField()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns true if the field is an aggregate field. Field value must be of aggregate type.
      Specified by:
      isAggregateField in interface FieldInfoIF
    • getParentClassInfo

      public ClassInfoIF getParentClassInfo()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the class info for the field's object type.
      Specified by:
      getParentClassInfo in interface FieldInfoIF
    • getValueClassInfo

      public ClassInfoIF getValueClassInfo()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the class info for the field's value type. Note that primitive value classes don't have a class info.
      Specified by:
      getValueClassInfo in interface FieldInfoIF
    • getValueClass

      public Class<?> getValueClass()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the field value class. For primitive fields the primitive wrapper class is returned.
      Specified by:
      getValueClass in interface FieldInfoIF
    • getTable

      public String getTable()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the table in which the field value is stored (aka the master table).
      Specified by:
      getTable in interface FieldInfoIF
    • getColumnCount

      public int getColumnCount()
      Description copied from interface: FieldHandlerIF
      INTERNAL: Returns the number of columns that the field spans.
      Specified by:
      getColumnCount in interface FieldHandlerIF
    • getValueColumns

      public String[] getValueColumns()
      Description copied from interface: FieldInfoIF
      INTERNAL: Returns the names of the columns that the field spans.
      Specified by:
      getValueColumns in interface FieldInfoIF
    • computeValueColumns

      protected String[] computeValueColumns()
    • aggregateColumnNames

      protected void aggregateColumnNames(List<String> columns)
    • getValue

      public Object getValue(Object object) throws Exception
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the field value from the given object.
      Specified by:
      getValue in interface FieldInfoIF
      Throws:
      Exception
    • setValue

      public void setValue(Object object, Object value) throws Exception
      Description copied from interface: FieldInfoIF
      INTERNAL: Sets the field value for the given object.
      Specified by:
      setValue in interface FieldInfoIF
      Throws:
      Exception
    • getJoinTable

      public String getJoinTable()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the name of the table which needs to be joined to order to access the field value from the master table.
      Specified by:
      getJoinTable in interface FieldInfoIF
    • getJoinKeys

      public String[] getJoinKeys()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.
      Specified by:
      getJoinKeys in interface FieldInfoIF
    • getManyKeys

      public String[] getManyKeys()
      Description copied from interface: FieldInfoIF
      INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.
      Specified by:
      getManyKeys in interface FieldInfoIF
    • load

      public Object load(AccessRegistrarIF registrar, TicketIF ticket, ResultSet rs, int rsindex, boolean direct) throws SQLException
      INTERNAL: Loads from its containing fields an IdentityIF with the field values as key.
      Specified by:
      load in interface FieldHandlerIF
      Throws:
      SQLException
    • bind

      public void bind(Object value, PreparedStatement stm, int stmt_index) throws SQLException
      INTERNAL: Binds the identity keys to the containing fields.
      Specified by:
      bind in interface FieldHandlerIF
      Throws:
      SQLException
    • retrieveFieldValues

      public void retrieveFieldValues(Object value, List<Object> field_values)
      Specified by:
      retrieveFieldValues in interface FieldHandlerIF
    • retrieveSQLValues

      public void retrieveSQLValues(Object value, List<SQLValueIF> sql_values)
      Specified by:
      retrieveSQLValues in interface FieldHandlerIF
    • toString

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

      public FieldInfoIF[] getFieldInfos()
      INTERNAL: Returns the underlying FieldInfoIF instances.