net.ontopia.persistence.proxy
Class ReferenceFieldInfo

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

public class ReferenceFieldInfo
extends AbstractFieldInfo

INTERNAL: A field that references objects. A reference field is a field that references the identity of instances of a descriptor class. It is also known as a foreign key field.

A reference field is a composite of one or more fields that together references the identity of an instance of a descriptor class. The number of fields and the types of those fields must match the identity fields of the referenced descriptor class.


Field Summary
protected  int column_count
           
protected  FieldInfoIF identity_field
           
protected  ClassInfoIF value_cinfo
           
protected  java.lang.Class value_class
           
protected  java.lang.String[] value_columns
           
 
Fields inherited from class net.ontopia.persistence.proxy.AbstractFieldInfo
cardinality, field, getter, index, is_collection, name, parent_cinfo, readonly, setter
 
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
 
Constructor Summary
ReferenceFieldInfo(ClassInfoIF parent_cinfo, FieldDescriptor field, int index)
           
 
Method Summary
 void bind(java.lang.Object value, java.sql.PreparedStatement stm, int stmt_index)
          INTERNAL: Binds the identity keys to the containing fields.
 int getColumnCount()
          INTERNAL: Returns the number of columns that the field spans.
 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 isIdentityField()
          INTERNAL: Returns true if the field handler references an object identity field.
 java.lang.Object load(AccessRegistrarIF registrar, TicketIF ticket, java.sql.ResultSet rs, int rsindex, boolean direct)
          INTERNAL: Loads from its containing fields the identity of an object.
 void retrieveFieldValues(java.lang.Object value, java.util.List field_values)
           
 void retrieveSQLValues(java.lang.Object value, java.util.List sql_values)
           
 java.lang.String toString()
           
 
Methods inherited from class net.ontopia.persistence.proxy.AbstractFieldInfo
getCardinality, getDescriptor, getGetterMethod, getIndex, getJoinKeys, getJoinTable, getManyKeys, getName, getParentClassInfo, getSetterMethod, getTable, getValue, getValueClass, isAggregateField, isCollectionField, isPrimitiveField, isReadOnly, isReferenceField, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

value_cinfo

protected ClassInfoIF value_cinfo

value_class

protected java.lang.Class value_class

identity_field

protected FieldInfoIF identity_field

value_columns

protected java.lang.String[] value_columns

column_count

protected int column_count
Constructor Detail

ReferenceFieldInfo

public ReferenceFieldInfo(ClassInfoIF parent_cinfo,
                          FieldDescriptor field,
                          int index)
Method Detail

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.


getColumnCount

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


isIdentityField

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


getValueColumns

public java.lang.String[] getValueColumns()
Description copied from interface: FieldInfoIF
INTERNAL: Returns the names of the columns that the field spans.


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 the identity of an object.

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.

Throws:
java.sql.SQLException

retrieveFieldValues

public void retrieveFieldValues(java.lang.Object value,
                                java.util.List field_values)

retrieveSQLValues

public void retrieveSQLValues(java.lang.Object value,
                              java.util.List sql_values)

toString

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


Copyright © 2000-2012 Ontopia.