Package org.apache.openjpa.jdbc.sql
Class RowImpl
java.lang.Object
org.apache.openjpa.jdbc.sql.RowImpl
- Direct Known Subclasses:
PrimaryRow,SecondaryRow,StateComparisonVersionStrategy.CustomUpdate
Basic
Row implementation.- Author:
- Abe White
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected bytestatic final Objectstatic final intprotected static final intFields inherited from interface org.apache.openjpa.jdbc.sql.Row
ACTION_DELETE, ACTION_INSERT, ACTION_UNKNOWN, ACTION_UPDATE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanReturn true if the given column index is settable.protected booleanReturn true if any of the given column indexes are settable.voidClear a circular foreign key.voidclearRelationId(Column col) Clear a circular relation id.clone()Performs a proper deep clone.voidCopy all values from this row into the given one.voidflush(PreparedStatement stmnt, int idx, DBDictionary dict, JDBCStore store) Flush the row's values to the given prepared statement.voidflush(PreparedStatement stmnt, DBDictionary dict, JDBCStore store) Flush the row's values to the given prepared statement.protected StringgenerateSQL(DBDictionary dict) Generate the SQL for this row; the result of this method is cached.intReturn the action for this row.Column[]This implementation does not track failed objects.intThe number of parameters that will be set for this row.This implementation does not track primary keys.Return the value set for update on the given column.getSQL(DBDictionary dict) Return the SQL for the operation on this row.getTable()Return the table for this row.int[]getTypes()Object[]getVals()Return the value set for where on the given column.booleanSecondary rows cannot be dependent.booleanbooleanisValid()Whether this row has information set on it.protected RowImplnewInstance(Column[] cols, int action) Return a new row.voidSet the value of the given column in this row.voidsetAsciiStream(Column col, InputStream val, int length) Set the value of the given column in this row.voidsetBigDecimal(Column col, BigDecimal val) Set the value of the given column in this row.voidsetBigInteger(Column col, BigInteger val) Set the value of the given column in this row.voidsetBinaryStream(Column col, InputStream val, int length) Set the value of the given column in this row.voidSet the value of the given column in this row.voidsetBoolean(Column col, boolean val) Set the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidsetCalendar(Column col, Calendar val) Set the value of the given column in this row.voidSet the value of the given column in this row.voidsetCharacterStream(Column col, Reader val, int length) Set the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidsetFailedObject(Object failed) This implementation does not track failed objects.voidSet the value of the given column in this row.voidsetFlushed(boolean isFlushed) voidsetForeignKey(ForeignKey fk, ColumnIO io, OpenJPAStateManager sm) Set the value of the given foreign key to the given object.voidSet the value of the given foreign key to the given object.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.protected voidAll set column methods delegate to this one.voidsetPrimaryKey(ColumnIO io, OpenJPAStateManager sm) Set the primary key to represent the given object.voidSet the primary key to represent the given object.voidSet a DB understood value for the given column.voidsetRelationId(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.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidSet the value of the given column in this row.voidsetTimestamp(Column col, Timestamp val, Calendar cal) Set the value of the given column in this row.voidsetValid(boolean valid) Whether this row has information set on it.voidwhereArray(Column col, Array val) Set an equality condition on the value of the given column in this row.voidwhereAsciiStream(Column col, InputStream val, int length) Set an equality condition on the value of the given column in this row.voidwhereBigDecimal(Column col, BigDecimal val) Set an equality condition on the value of the given column in this row.voidwhereBigInteger(Column col, BigInteger val) Set an equality condition on the value of the given column in this row.voidwhereBinaryStream(Column col, InputStream val, int length) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereBoolean(Column col, boolean val) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereBytes(Column col, byte[] val) Set an equality condition on the value of the given column in this row.voidwhereCalendar(Column col, Calendar val) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereCharacterStream(Column col, Reader val, int length) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereDouble(Column col, double val) Set an equality condition on the value of the given column in this row.voidwhereFloat(Column col, float val) Set an equality condition on the value of the given column in this row.voidSet the foreign key equality criteria to link to the given object.voidSet an equality condition on the value of the given column in this row.voidwhereLocale(Column col, Locale val) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereNumber(Column col, Number val) Set an equality condition on the value of the given column in this row.voidwhereObject(Column col, Object val) Set an equality condition on the value of the given column in this row.protected voidwhereObject(Column col, Object val, int metaType) All where column methods delegate to this one.voidSet the primary key equality criteria for this row.voidSet a DB understood where condition for the given column.voidwhereShort(Column col, short val) Set an equality condition on the value of the given column in this row.voidwhereString(Column col, String val) Set an equality condition on the value of the given column in this row.voidSet an equality condition on the value of the given column in this row.voidwhereTimestamp(Column col, Timestamp val, Calendar cal) Set an equality condition on the value of the given column in this row.
-
Field Details
-
NULL
-
VALID
protected static final int VALID- See Also:
-
RAW
public static final int RAW- See Also:
-
flags
protected byte flags
-
-
Constructor Details
-
RowImpl
Constructor.- Parameters:
table- the table the row is a part ofaction- the action on the row
-
RowImpl
-
-
Method Details
-
getTable
Description copied from interface:RowReturn the table for this row. -
getColumns
-
getAction
public int getAction()Description copied from interface:RowReturn the action for this row. -
isValid
public boolean isValid()Description copied from interface:RowWhether this row has information set on it. -
setValid
public void setValid(boolean valid) Description copied from interface:RowWhether this row has information set on it. -
getPrimaryKey
This implementation does not track primary keys.- Specified by:
getPrimaryKeyin interfaceRow
-
getFailedObject
This implementation does not track failed objects.- Specified by:
getFailedObjectin interfaceRow
-
setFailedObject
This implementation does not track failed objects.- Specified by:
setFailedObjectin interfaceRow
-
isDependent
public boolean isDependent()Secondary rows cannot be dependent. -
getSet
Return the value set for update on the given column. -
getWhere
Return the value set for where on the given column. -
setPrimaryKey
Description copied from interface:RowSet the primary key to represent the given object.- Specified by:
setPrimaryKeyin interfaceRow- Throws:
SQLException
-
setPrimaryKey
Description copied from interface:RowSet the primary key to represent the given object.- Specified by:
setPrimaryKeyin interfaceRow- Parameters:
io- information on which columns are settable; may be null- Throws:
SQLException
-
wherePrimaryKey
Description copied from interface:RowSet the primary key equality criteria for this row.- Specified by:
wherePrimaryKeyin interfaceRow- Throws:
SQLException
-
setForeignKey
Description copied from interface:RowSet 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:
setForeignKeyin interfaceRow- Throws:
SQLException
-
setForeignKey
Description copied from interface:RowSet 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:
setForeignKeyin interfaceRowio- information on which columns are settable; may be null- Throws:
SQLException
-
whereForeignKey
Description copied from interface:RowSet the foreign key equality criteria to link 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:
whereForeignKeyin interfaceRow- Throws:
SQLException
-
clearForeignKey
Clear a circular foreign key.- Throws:
SQLException
-
canSetAny
Return true if any of the given column indexes are settable. -
canSet
Return true if the given column index is settable. -
setRelationId
Description copied from interface:RowSet 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:
setRelationIdin interfaceRow- Throws:
SQLException
-
clearRelationId
Clear a circular relation id.- Throws:
SQLException
-
setArray
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setArrayin interfaceRow- Throws:
SQLException
-
setAsciiStream
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setAsciiStreamin interfaceRow- Throws:
SQLException
-
setBigDecimal
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBigDecimalin interfaceRow- Throws:
SQLException
-
setBigInteger
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBigIntegerin interfaceRow- Throws:
SQLException
-
setBinaryStream
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBinaryStreamin interfaceRow- Throws:
SQLException
-
setBlob
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBlobin interfaceRow- Throws:
SQLException
-
setBoolean
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBooleanin interfaceRow- Throws:
SQLException
-
setByte
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBytein interfaceRow- Throws:
SQLException
-
setBytes
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setBytesin interfaceRow- Throws:
SQLException
-
setCalendar
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setCalendarin interfaceRow- Throws:
SQLException
-
setChar
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setCharin interfaceRow- Throws:
SQLException
-
setCharacterStream
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setCharacterStreamin interfaceRow- Throws:
SQLException
-
setClob
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setClobin interfaceRow- Throws:
SQLException
-
setDate
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setDatein interfaceRow- Throws:
SQLException
-
setDate
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setDatein interfaceRow- Throws:
SQLException
-
setDouble
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setDoublein interfaceRow- Throws:
SQLException
-
setFloat
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setFloatin interfaceRow- Throws:
SQLException
-
setInt
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setIntin interfaceRow- Throws:
SQLException
-
setLong
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setLongin interfaceRow- Throws:
SQLException
-
setLocale
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setLocalein interfaceRow- Throws:
SQLException
-
setNull
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setNullin interfaceRow- Throws:
SQLException
-
setNull
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setNullin interfaceRowoverrideDefault- whether to set this column to null even if this is an insert and the column has a default- Throws:
SQLException
-
setNumber
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setNumberin interfaceRow- Throws:
SQLException
-
setRaw
Description copied from interface:RowSet a DB understood value for the given column. The value will not be parameterized and instead be inserted as raw SQL.- Specified by:
setRawin interfaceRow- Throws:
SQLException
-
setShort
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setShortin interfaceRow- Throws:
SQLException
-
setString
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setStringin interfaceRow- Throws:
SQLException
-
setTime
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setTimein interfaceRow- Throws:
SQLException
-
setTimestamp
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setTimestampin interfaceRow- Throws:
SQLException
-
setObject
Description copied from interface:RowSet the value of the given column in this row.- Specified by:
setObjectin interfaceRow- Parameters:
col- the column being setval- the value for the column- Throws:
SQLException
-
whereArray
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereArrayin interfaceRow- Throws:
SQLException
-
whereAsciiStream
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereAsciiStreamin interfaceRow- Throws:
SQLException
-
whereBigDecimal
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBigDecimalin interfaceRow- Throws:
SQLException
-
whereBigInteger
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBigIntegerin interfaceRow- Throws:
SQLException
-
whereBinaryStream
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBinaryStreamin interfaceRow- Throws:
SQLException
-
whereBlob
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBlobin interfaceRow- Throws:
SQLException
-
whereBoolean
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBooleanin interfaceRow- Throws:
SQLException
-
whereByte
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBytein interfaceRow- Throws:
SQLException
-
whereBytes
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereBytesin interfaceRow- Throws:
SQLException
-
whereCalendar
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereCalendarin interfaceRow- Throws:
SQLException
-
whereChar
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereCharin interfaceRow- Throws:
SQLException
-
whereCharacterStream
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereCharacterStreamin interfaceRow- Throws:
SQLException
-
whereClob
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereClobin interfaceRow- Throws:
SQLException
-
whereDate
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereDatein interfaceRow- Throws:
SQLException
-
whereDate
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereDatein interfaceRow- Throws:
SQLException
-
whereDouble
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereDoublein interfaceRow- Throws:
SQLException
-
whereFloat
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereFloatin interfaceRow- Throws:
SQLException
-
whereInt
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereIntin interfaceRow- Throws:
SQLException
-
whereLong
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereLongin interfaceRow- Throws:
SQLException
-
whereLocale
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereLocalein interfaceRow- Throws:
SQLException
-
whereNull
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereNullin interfaceRow- Throws:
SQLException
-
whereNumber
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereNumberin interfaceRow- Throws:
SQLException
-
whereRaw
Description copied from interface:RowSet a DB understood where condition for the given column. The value will not be parameterized and instead be inserted as raw SQL.- Specified by:
whereRawin interfaceRow- Throws:
SQLException
-
whereShort
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereShortin interfaceRow- Throws:
SQLException
-
whereString
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereStringin interfaceRow- Throws:
SQLException
-
whereTime
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereTimein interfaceRow- Throws:
SQLException
-
whereTimestamp
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereTimestampin interfaceRow- Throws:
SQLException
-
whereObject
Description copied from interface:RowSet an equality condition on the value of the given column in this row.- Specified by:
whereObjectin interfaceRow- Parameters:
col- the column being setval- the value for the column- Throws:
SQLException
-
setObject
protected void setObject(Column col, Object val, int metaType, boolean overrideDefault) throws SQLException All set column methods delegate to this one. Set the given object unless this is an insert and the given column is auto-assigned.- Throws:
SQLException
-
whereObject
All where column methods delegate to this one.- Throws:
SQLException
-
getSQL
Return the SQL for the operation on this row. -
generateSQL
Generate the SQL for this row; the result of this method is cached. -
getParameterCount
public int getParameterCount()The number of parameters that will be set for this row. -
flush
Flush the row's values to the given prepared statement.- Throws:
SQLException
-
flush
public void flush(PreparedStatement stmnt, int idx, DBDictionary dict, JDBCStore store) throws SQLException Flush the row's values to the given prepared statement.- Throws:
SQLException
-
clone
Performs a proper deep clone. -
newInstance
Return a new row. -
copyInto
Copy all values from this row into the given one.- Parameters:
whereOnly- if true, only copy where conditions
-
getVals
-
getTypes
public int[] getTypes() -
isFlushed
public boolean isFlushed() -
setFlushed
public void setFlushed(boolean isFlushed)
-