net.ontopia.persistence.proxy
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
static int MANY_TO_MANY
          Flag indicating that the field represents a M:M relationship.
static int ONE_TO_MANY
          Flag indicating that the field represents a 1:M relationship.
static int ONE_TO_ONE
          Flag indicating that the field represents a 1:1 relationship.
 
Method Summary
 int getCardinality()
          INTERNAL: Gets the field cardinality.
 int getIndex()
          INTERNAL: Gets the value field index of this field.
 java.lang.String[] getJoinKeys()
          INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.
 java.lang.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.
 java.lang.String[] getManyKeys()
          INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.
 java.lang.String getName()
          INTERNAL: Gets the field name.
 ClassInfoIF getParentClassInfo()
          INTERNAL: Gets the class info for the field's object type.
 java.lang.String getTable()
          INTERNAL: Gets the table in which the field value is stored (aka the master table).
 java.lang.Object getValue(java.lang.Object object)
          INTERNAL: Gets the field value from the given object.
 java.lang.Class getValueClass()
          INTERNAL: Gets the field value class.
 ClassInfoIF getValueClassInfo()
          INTERNAL: Gets the class info for the field's value type.
 java.lang.String[] getValueColumns()
          INTERNAL: Returns the names of the columns that the field spans.
 boolean isAggregateField()
          INTERNAL: Returns true if the field is an aggregate field.
 boolean isCollectionField()
          INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).
 boolean isPrimitiveField()
          INTERNAL: Returns true if the field is a primitive field.
 boolean isReadOnly()
          INTERNAL: Returns true if this field is read-only field.
 boolean isReferenceField()
          INTERNAL: Returns true if the field is a reference field.
 void setValue(java.lang.Object object, java.lang.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 Detail

ONE_TO_ONE

static final int ONE_TO_ONE
Flag indicating that the field represents a 1:1 relationship.

See Also:
Constant Field Values

ONE_TO_MANY

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

See Also:
Constant Field Values

MANY_TO_MANY

static final int MANY_TO_MANY
Flag indicating that the field represents a M:M relationship.

See Also:
Constant Field Values
Method Detail

getName

java.lang.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

java.lang.Class getValueClass()
INTERNAL: Gets the field value class. For primitive fields the primitive wrapper class is returned.


getTable

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


getValueColumns

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


getValue

java.lang.Object getValue(java.lang.Object object)
                          throws java.lang.Exception
INTERNAL: Gets the field value from the given object.

Throws:
java.lang.Exception

setValue

void setValue(java.lang.Object object,
              java.lang.Object value)
              throws java.lang.Exception
INTERNAL: Sets the field value for the given object.

Throws:
java.lang.Exception

getJoinTable

java.lang.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

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


getManyKeys

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



Copyright © 2000-2012 Ontopia.