net.ontopia.persistence.proxy
Class IdentityFieldInfo

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

public class IdentityFieldInfo
extends java.lang.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 Summary
protected  int column_count
           
protected  FieldInfoIF[] fields
           
protected  int fields_length
           
protected  java.lang.reflect.Method getter
           
protected  ClassInfoIF parent_cinfo
           
protected  java.lang.Class parent_class
           
protected  java.lang.reflect.Method setter
           
protected  int sqlType
           
protected  java.lang.String[] value_columns
           
 
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
 
Constructor Summary
IdentityFieldInfo(ClassInfoIF parent_cinfo, FieldInfoIF[] identity_fields)
           
 
Method Summary
protected  void aggregateColumnNames(java.util.List columns)
           
 void bind(java.lang.Object value, java.sql.PreparedStatement stm, int stmt_index)
          INTERNAL: Binds the identity keys to the containing fields.
protected  java.lang.String[] computeValueColumns()
           
 int getCardinality()
          INTERNAL: Gets the field cardinality.
 int getColumnCount()
          INTERNAL: Returns the number of columns that the field spans.
 FieldInfoIF[] getFieldInfos()
          INTERNAL: Returns the underlying FieldInfoIF instances.
 FieldInfoIF[] getFields()
          INTERNAL: Returns the underlying FieldInfoIFs that the identity field spans.
 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 isIdentityField()
          INTERNAL: Returns true if the field handler references an object identity field.
 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.
 java.lang.Object load(AccessRegistrarIF registrar, TicketIF ticket, java.sql.ResultSet rs, int rsindex, boolean direct)
          INTERNAL: Loads from its containing fields an IdentityIF with the field values as key.
 void retrieveFieldValues(java.lang.Object value, java.util.List field_values)
           
 void retrieveSQLValues(java.lang.Object value, java.util.List sql_values)
           
 void setValue(java.lang.Object object, java.lang.Object value)
          INTERNAL: Sets the field value for the given object.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parent_cinfo

protected ClassInfoIF parent_cinfo

parent_class

protected java.lang.Class parent_class

fields

protected FieldInfoIF[] fields

fields_length

protected int fields_length

value_columns

protected java.lang.String[] value_columns

column_count

protected int column_count

getter

protected java.lang.reflect.Method getter

setter

protected java.lang.reflect.Method setter

sqlType

protected int sqlType
Constructor Detail

IdentityFieldInfo

public IdentityFieldInfo(ClassInfoIF parent_cinfo,
                         FieldInfoIF[] identity_fields)
Method Detail

getFields

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


getName

public java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String[] computeValueColumns()

aggregateColumnNames

protected void aggregateColumnNames(java.util.List columns)

getValue

public java.lang.Object getValue(java.lang.Object object)
                          throws java.lang.Exception
Description copied from interface: FieldInfoIF
INTERNAL: Gets the field value from the given object.

Specified by:
getValue in interface FieldInfoIF
Throws:
java.lang.Exception

setValue

public void setValue(java.lang.Object object,
                     java.lang.Object value)
              throws java.lang.Exception
Description copied from interface: FieldInfoIF
INTERNAL: Sets the field value for the given object.

Specified by:
setValue in interface FieldInfoIF
Throws:
java.lang.Exception

getJoinTable

public java.lang.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 java.lang.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 java.lang.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 java.lang.Object load(AccessRegistrarIF registrar,
                             TicketIF ticket,
                             java.sql.ResultSet rs,
                             int rsindex,
                             boolean direct)
                      throws java.sql.SQLException
INTERNAL: Loads from its containing fields an IdentityIF with the field values as key.

Specified by:
load in interface FieldHandlerIF
Throws:
java.sql.SQLException

bind

public void bind(java.lang.Object value,
                 java.sql.PreparedStatement stm,
                 int stmt_index)
          throws java.sql.SQLException
INTERNAL: Binds the identity keys to the containing fields.

Specified by:
bind in interface FieldHandlerIF
Throws:
java.sql.SQLException

retrieveFieldValues

public void retrieveFieldValues(java.lang.Object value,
                                java.util.List field_values)
Specified by:
retrieveFieldValues in interface FieldHandlerIF

retrieveSQLValues

public void retrieveSQLValues(java.lang.Object value,
                              java.util.List sql_values)
Specified by:
retrieveSQLValues in interface FieldHandlerIF

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getFieldInfos

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



Copyright © 2000-2012 Ontopia.