Interface FieldInfoIF

All Superinterfaces:
FieldHandlerIF
All Known Implementing Classes:
AbstractFieldInfo, AggregateFieldInfo, IdentityFieldInfo, PrimitiveFieldInfo, ReferenceFieldInfo

public interface FieldInfoIF extends FieldHandlerIF
INTERNAL: A field descriptor-like class that is used by the RDBMS proxy implementation to access the information it needs about the object relational field descriptor in an optimized manner.

A field info is also able to perform the read and write operations required by field handlers. In addition it contains an optimized representation of the related field descriptor. The field info implementations also knows how to interact with the data repository using the FieldHandlerIF interface.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Flag indicating that the field represents a M:M relationship.
    static final int
    Flag indicating that the field represents a 1:M relationship.
    static final int
    Flag indicating that the field represents a 1:1 relationship.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    INTERNAL: Gets the field cardinality.
    int
    INTERNAL: Gets the value field index of this field.
    INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.
    INTERNAL: Gets the name of the table which needs to be joined to order to access the field value from the master table.
    INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.
    INTERNAL: Gets the field name.
    INTERNAL: Gets the class info for the field's object type.
    INTERNAL: Gets the table in which the field value is stored (aka the master table).
    getValue(Object object)
    INTERNAL: Gets the field value from the given object.
    INTERNAL: Gets the field value class.
    INTERNAL: Gets the class info for the field's value type.
    INTERNAL: Returns the names of the columns that the field spans.
    boolean
    INTERNAL: Returns true if the field is an aggregate field.
    boolean
    INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).
    boolean
    INTERNAL: Returns true if the field is a primitive field.
    boolean
    INTERNAL: Returns true if this field is read-only field.
    boolean
    INTERNAL: Returns true if the field is a reference field.
    void
    setValue(Object object, Object value)
    INTERNAL: Sets the field value for the given object.

    Methods inherited from interface net.ontopia.persistence.proxy.FieldHandlerIF

    bind, getColumnCount, isIdentityField, load, retrieveFieldValues, retrieveSQLValues
  • Field Details

    • ONE_TO_ONE

      static final int ONE_TO_ONE
      Flag indicating that the field represents a 1:1 relationship.
      See Also:
    • ONE_TO_MANY

      static final int ONE_TO_MANY
      Flag indicating that the field represents a 1:M relationship.
      See Also:
    • MANY_TO_MANY

      static final int MANY_TO_MANY
      Flag indicating that the field represents a M:M relationship.
      See Also:
  • Method Details

    • getName

      String getName()
      INTERNAL: Gets the field name.
    • getIndex

      int getIndex()
      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.
    • getCardinality

      int getCardinality()
      INTERNAL: Gets the field cardinality.
    • isReadOnly

      boolean isReadOnly()
      INTERNAL: Returns true if this field is read-only field.
    • isCollectionField

      boolean isCollectionField()
      INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).
    • isPrimitiveField

      boolean isPrimitiveField()
      INTERNAL: Returns true if the field is a primitive field. Field value must be of primitive type.
    • isReferenceField

      boolean isReferenceField()
      INTERNAL: Returns true if the field is a reference field. Field value must be of identifiable type.
    • isAggregateField

      boolean isAggregateField()
      INTERNAL: Returns true if the field is an aggregate field. Field value must be of aggregate type.
    • getParentClassInfo

      ClassInfoIF getParentClassInfo()
      INTERNAL: Gets the class info for the field's object type.
    • getValueClassInfo

      ClassInfoIF getValueClassInfo()
      INTERNAL: Gets the class info for the field's value type. Note that primitive value classes don't have a class info.
    • getValueClass

      Class<?> getValueClass()
      INTERNAL: Gets the field value class. For primitive fields the primitive wrapper class is returned.
    • getTable

      String getTable()
      INTERNAL: Gets the table in which the field value is stored (aka the master table).
    • getValueColumns

      String[] getValueColumns()
      INTERNAL: Returns the names of the columns that the field spans.
    • getValue

      Object getValue(Object object) throws Exception
      INTERNAL: Gets the field value from the given object.
      Throws:
      Exception
    • setValue

      void setValue(Object object, Object value) throws Exception
      INTERNAL: Sets the field value for the given object.
      Throws:
      Exception
    • getJoinTable

      String getJoinTable()
      INTERNAL: Gets the name of the table which needs to be joined to order to access the field value from the master table.
    • getJoinKeys

      String[] getJoinKeys()
      INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.
    • getManyKeys

      String[] getManyKeys()
      INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.