net.ontopia.persistence.proxy
Class AggregateFieldInfo

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

public class AggregateFieldInfo
extends AbstractFieldInfo

INTERNAL: A field that references an aggregate class.

An aggregate field is a composite of one or more fields that together represent the fields of instances of the aggregate value class.


Field Summary
protected  int column_count
           
protected  FieldInfoIF[] fields
           
protected  ClassInfoIF value_cinfo
           
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, value_class
 
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
 
Constructor Summary
AggregateFieldInfo(ClassInfoIF parent_cinfo, FieldDescriptor field, int index)
           
 
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 object field value starting from the given offset in the prepared statement.
protected  java.lang.String[] computeValueColumns()
           
 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 an aggregate object.
protected  java.lang.Object readAggregateObject(AccessRegistrarIF registrar, TicketIF ticket, java.sql.ResultSet rs, int rsindex, boolean direct)
           
 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

fields

protected FieldInfoIF[] fields

value_columns

protected java.lang.String[] value_columns

column_count

protected int column_count
Constructor Detail

AggregateFieldInfo

public AggregateFieldInfo(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.


computeValueColumns

protected java.lang.String[] computeValueColumns()

aggregateColumnNames

protected void aggregateColumnNames(java.util.List columns)

readAggregateObject

protected java.lang.Object readAggregateObject(AccessRegistrarIF registrar,
                                               TicketIF ticket,
                                               java.sql.ResultSet rs,
                                               int rsindex,
                                               boolean direct)
                                        throws java.sql.SQLException
Throws:
java.sql.SQLException

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 aggregate object.

Throws:
java.sql.SQLException

bind

public void bind(java.lang.Object value,
                 java.sql.PreparedStatement stm,
                 int stmt_index)
          throws java.sql.SQLException
Description copied from interface: FieldHandlerIF
INTERNAL: Binds the object field value starting from the given offset in the prepared statement. The number of columns actually bound depends on the type of object field.

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.