org.apache.openjpa.jdbc.sql
Class SecondaryRow

java.lang.Object
  extended by org.apache.openjpa.jdbc.sql.RowImpl
      extended by org.apache.openjpa.jdbc.sql.SecondaryRow
All Implemented Interfaces:
Cloneable, Row

public class SecondaryRow
extends RowImpl

Secondary table row that tracks foreign keys to auto-inc columns.

Author:
Abe White

Field Summary
 
Fields inherited from class org.apache.openjpa.jdbc.sql.RowImpl
flags, NULL, VALID
 
Fields inherited from interface org.apache.openjpa.jdbc.sql.Row
ACTION_DELETE, ACTION_INSERT, ACTION_UNKNOWN, ACTION_UPDATE
 
Constructor Summary
protected SecondaryRow(Column[] cols, int action)
           
  SecondaryRow(Table table, int action)
          Constructor; supply table and action.
 
Method Summary
 void copyInto(RowImpl row, boolean whereOnly)
          Copy all values from this row into the given one.
protected  String generateSQL(DBDictionary dict)
          Generate the SQL for this row; the result of this method is cached.
protected  RowImpl newInstance(Column[] cols, int action)
          Return a new row.
 void setForeignKey(ForeignKey fk, ColumnIO io, OpenJPAStateManager sm)
          Set the value of the given foreign key to the given object.
 void setForeignKey(ForeignKey fk, OpenJPAStateManager sm)
          Set the value of the given foreign key to the given object.
 void setRelationId(Column col, OpenJPAStateManager sm, RelationId rel)
          Set the value of the given column to the identity of given instance, using the given callback to create the column value.
 
Methods inherited from class org.apache.openjpa.jdbc.sql.RowImpl
canSet, canSetAny, clearForeignKey, clearRelationId, clone, flush, flush, getAction, getColumns, getFailedObject, getParameterCount, getPrimaryKey, getSet, getSQL, getTable, getWhere, isDependent, isValid, setArray, setAsciiStream, setBigDecimal, setBigInteger, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setDate, setDate, setDouble, setFailedObject, setFloat, setInt, setLocale, setLong, setNull, setNull, setNumber, setObject, setObject, setPrimaryKey, setPrimaryKey, setRaw, setShort, setString, setTime, setTimestamp, setValid, whereArray, whereAsciiStream, whereBigDecimal, whereBigInteger, whereBinaryStream, whereBlob, whereBoolean, whereByte, whereBytes, whereCalendar, whereChar, whereCharacterStream, whereClob, whereDate, whereDate, whereDouble, whereFloat, whereForeignKey, whereInt, whereLocale, whereLong, whereNull, whereNumber, whereObject, whereObject, wherePrimaryKey, whereRaw, whereShort, whereString, whereTime, whereTimestamp
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecondaryRow

public SecondaryRow(Table table,
                    int action)
Constructor; supply table and action.


SecondaryRow

protected SecondaryRow(Column[] cols,
                       int action)
Method Detail

setForeignKey

public void setForeignKey(ForeignKey fk,
                          OpenJPAStateManager sm)
                   throws SQLException
Description copied from interface: Row
Set the value of the given foreign key to the given object. If the related type uses table-per-class mappings, the foreign key may be targeted at an independent superclass table.

Specified by:
setForeignKey in interface Row
Overrides:
setForeignKey in class RowImpl
Throws:
SQLException

setForeignKey

public void setForeignKey(ForeignKey fk,
                          ColumnIO io,
                          OpenJPAStateManager sm)
                   throws SQLException
Description copied from interface: Row
Set the value of the given foreign key to the given object. If the related type uses table-per-class mappings, the foreign key may be targeted at an independent superclass table.

Specified by:
setForeignKey in interface Row
Overrides:
setForeignKey in class RowImpl
io - information on which columns are settable; may be null
Throws:
SQLException

setRelationId

public void setRelationId(Column col,
                          OpenJPAStateManager sm,
                          RelationId rel)
                   throws SQLException
Description copied from interface: Row
Set the value of the given column to the identity of given instance, using the given callback to create the column value. This method is used for mappings that store some serialized form of id values, but must make sure that the related object's id is assigned (which might require an insert if the instance uses auto-increment) before it is serialized.

Specified by:
setRelationId in interface Row
Overrides:
setRelationId in class RowImpl
Throws:
SQLException

generateSQL

protected String generateSQL(DBDictionary dict)
Description copied from class: RowImpl
Generate the SQL for this row; the result of this method is cached.

Overrides:
generateSQL in class RowImpl

newInstance

protected RowImpl newInstance(Column[] cols,
                              int action)
Description copied from class: RowImpl
Return a new row.

Overrides:
newInstance in class RowImpl

copyInto

public void copyInto(RowImpl row,
                     boolean whereOnly)
Description copied from class: RowImpl
Copy all values from this row into the given one.

Overrides:
copyInto in class RowImpl
whereOnly - if true, only copy where conditions


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.