Package org.apache.openjpa.jdbc.sql
Interface Row
-
- All Known Implementing Classes:
PrimaryRow
,RowImpl
,SecondaryRow
,StateComparisonVersionStrategy.CustomUpdate
public interface Row
Logical representation of a table row for insert/update/delete. TheUpdateManager
is responsible for implementing rows to do something useful when the values are set.- Author:
- Abe White
-
-
Field Summary
Fields Modifier and Type Field Description static int
ACTION_DELETE
Mark the row for deletion.static int
ACTION_INSERT
Mark the row for inserttion.static int
ACTION_UNKNOWN
Symbolic constant reserved for situations when a row operation is unknown.static int
ACTION_UPDATE
Mark the row for update.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getAction()
Return the action for this row.java.lang.Object
getFailedObject()
Return the failed object to include in optimistic lock exceptions.OpenJPAStateManager
getPrimaryKey()
Return the instance that controls this row.Table
getTable()
Return the table for this row.boolean
isValid()
Whether this row has information set on it.void
setArray(Column col, java.sql.Array val)
Set the value of the given column in this row.void
setAsciiStream(Column col, java.io.InputStream val, int length)
Set the value of the given column in this row.void
setBigDecimal(Column col, java.math.BigDecimal val)
Set the value of the given column in this row.void
setBigInteger(Column col, java.math.BigInteger val)
Set the value of the given column in this row.void
setBinaryStream(Column col, java.io.InputStream val, int length)
Set the value of the given column in this row.void
setBlob(Column col, java.sql.Blob val)
Set the value of the given column in this row.void
setBoolean(Column col, boolean val)
Set the value of the given column in this row.void
setByte(Column col, byte val)
Set the value of the given column in this row.void
setBytes(Column col, byte[] val)
Set the value of the given column in this row.void
setCalendar(Column col, java.util.Calendar val)
Set the value of the given column in this row.void
setChar(Column col, char val)
Set the value of the given column in this row.void
setCharacterStream(Column col, java.io.Reader val, int length)
Set the value of the given column in this row.void
setClob(Column col, java.sql.Clob val)
Set the value of the given column in this row.void
setDate(Column col, java.sql.Date val, java.util.Calendar cal)
Set the value of the given column in this row.void
setDate(Column col, java.util.Date val)
Set the value of the given column in this row.void
setDouble(Column col, double val)
Set the value of the given column in this row.void
setFailedObject(java.lang.Object failed)
Set the failed object to include in the optimistic lock exception that will be thrown if this update results in an update count of 0 when executed.void
setFloat(Column col, float val)
Set the value of the given column in this 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
setInt(Column col, int val)
Set the value of the given column in this row.void
setLocale(Column col, java.util.Locale val)
Set the value of the given column in this row.void
setLong(Column col, long val)
Set the value of the given column in this row.void
setNull(Column col)
Set the value of the given column in this row.void
setNull(Column col, boolean overrideDefault)
Set the value of the given column in this row.void
setNumber(Column col, java.lang.Number val)
Set the value of the given column in this row.void
setObject(Column col, java.lang.Object val)
Set the value of the given column in this row.void
setPrimaryKey(ColumnIO io, OpenJPAStateManager sm)
Set the primary key to represent the given object.void
setPrimaryKey(OpenJPAStateManager sm)
Set the primary key to represent the given object.void
setRaw(Column col, java.lang.String value)
Set a DB understood value for the given column.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.void
setShort(Column col, short val)
Set the value of the given column in this row.void
setString(Column col, java.lang.String val)
Set the value of the given column in this row.void
setTime(Column col, java.sql.Time val, java.util.Calendar cal)
Set the value of the given column in this row.void
setTimestamp(Column col, java.sql.Timestamp val, java.util.Calendar cal)
Set the value of the given column in this row.void
setValid(boolean valid)
Whether this row has information set on it.void
whereArray(Column col, java.sql.Array val)
Set an equality condition on the value of the given column in this row.void
whereAsciiStream(Column col, java.io.InputStream val, int length)
Set an equality condition on the value of the given column in this row.void
whereBigDecimal(Column col, java.math.BigDecimal val)
Set an equality condition on the value of the given column in this row.void
whereBigInteger(Column col, java.math.BigInteger val)
Set an equality condition on the value of the given column in this row.void
whereBinaryStream(Column col, java.io.InputStream val, int length)
Set an equality condition on the value of the given column in this row.void
whereBlob(Column col, java.sql.Blob val)
Set an equality condition on the value of the given column in this row.void
whereBoolean(Column col, boolean val)
Set an equality condition on the value of the given column in this row.void
whereByte(Column col, byte val)
Set an equality condition on the value of the given column in this row.void
whereBytes(Column col, byte[] val)
Set an equality condition on the value of the given column in this row.void
whereCalendar(Column col, java.util.Calendar val)
Set an equality condition on the value of the given column in this row.void
whereChar(Column col, char val)
Set an equality condition on the value of the given column in this row.void
whereCharacterStream(Column col, java.io.Reader val, int length)
Set an equality condition on the value of the given column in this row.void
whereClob(Column col, java.sql.Clob val)
Set an equality condition on the value of the given column in this row.void
whereDate(Column col, java.sql.Date val, java.util.Calendar cal)
Set an equality condition on the value of the given column in this row.void
whereDate(Column col, java.util.Date val)
Set an equality condition on the value of the given column in this row.void
whereDouble(Column col, double val)
Set an equality condition on the value of the given column in this row.void
whereFloat(Column col, float val)
Set an equality condition on the value of the given column in this row.void
whereForeignKey(ForeignKey fk, OpenJPAStateManager sm)
Set the foreign key equality criteria to link to the given object.void
whereInt(Column col, int val)
Set an equality condition on the value of the given column in this row.void
whereLocale(Column col, java.util.Locale val)
Set an equality condition on the value of the given column in this row.void
whereLong(Column col, long val)
Set an equality condition on the value of the given column in this row.void
whereNull(Column col)
Set an equality condition on the value of the given column in this row.void
whereNumber(Column col, java.lang.Number val)
Set an equality condition on the value of the given column in this row.void
whereObject(Column col, java.lang.Object val)
Set an equality condition on the value of the given column in this row.void
wherePrimaryKey(OpenJPAStateManager sm)
Set the primary key equality criteria for this row.void
whereRaw(Column col, java.lang.String value)
Set a DB understood where condition for the given column.void
whereShort(Column col, short val)
Set an equality condition on the value of the given column in this row.void
whereString(Column col, java.lang.String val)
Set an equality condition on the value of the given column in this row.void
whereTime(Column col, java.sql.Time val, java.util.Calendar cal)
Set an equality condition on the value of the given column in this row.void
whereTimestamp(Column col, java.sql.Timestamp val, java.util.Calendar cal)
Set an equality condition on the value of the given column in this row.
-
-
-
Field Detail
-
ACTION_UNKNOWN
static final int ACTION_UNKNOWN
Symbolic constant reserved for situations when a row operation is unknown.- See Also:
- Constant Field Values
-
ACTION_UPDATE
static final int ACTION_UPDATE
Mark the row for update.- See Also:
- Constant Field Values
-
ACTION_INSERT
static final int ACTION_INSERT
Mark the row for inserttion.- See Also:
- Constant Field Values
-
ACTION_DELETE
static final int ACTION_DELETE
Mark the row for deletion.- See Also:
- Constant Field Values
-
-
Method Detail
-
getTable
Table getTable()
Return the table for this row.
-
getAction
int getAction()
Return the action for this row.
-
getFailedObject
java.lang.Object getFailedObject()
Return the failed object to include in optimistic lock exceptions.
-
setFailedObject
void setFailedObject(java.lang.Object failed)
Set the failed object to include in the optimistic lock exception that will be thrown if this update results in an update count of 0 when executed. Leave null to avoid checking the update count.
-
isValid
boolean isValid()
Whether this row has information set on it.
-
setValid
void setValid(boolean valid)
Whether this row has information set on it.
-
getPrimaryKey
OpenJPAStateManager getPrimaryKey()
Return the instance that controls this row. ThesetPrimaryKey(org.apache.openjpa.kernel.OpenJPAStateManager)
method does not necessarily have to be called to know the owning instance, nor does this row's table have to have an actual primary key.
-
setPrimaryKey
void setPrimaryKey(OpenJPAStateManager sm) throws java.sql.SQLException
Set the primary key to represent the given object.- Throws:
java.sql.SQLException
-
setPrimaryKey
void setPrimaryKey(ColumnIO io, OpenJPAStateManager sm) throws java.sql.SQLException
Set the primary key to represent the given object.- Parameters:
io
- information on which columns are settable; may be null- Throws:
java.sql.SQLException
-
wherePrimaryKey
void wherePrimaryKey(OpenJPAStateManager sm) throws java.sql.SQLException
Set the primary key equality criteria for this row.- Throws:
java.sql.SQLException
-
setForeignKey
void setForeignKey(ForeignKey fk, OpenJPAStateManager sm) throws java.sql.SQLException
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.- Throws:
java.sql.SQLException
-
setForeignKey
void setForeignKey(ForeignKey fk, ColumnIO io, OpenJPAStateManager sm) throws java.sql.SQLException
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.- Parameters:
io
- information on which columns are settable; may be null- Throws:
java.sql.SQLException
-
whereForeignKey
void whereForeignKey(ForeignKey fk, OpenJPAStateManager sm) throws java.sql.SQLException
Set 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.- Throws:
java.sql.SQLException
-
setArray
void setArray(Column col, java.sql.Array val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setAsciiStream
void setAsciiStream(Column col, java.io.InputStream val, int length) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBigDecimal
void setBigDecimal(Column col, java.math.BigDecimal val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBigInteger
void setBigInteger(Column col, java.math.BigInteger val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBinaryStream
void setBinaryStream(Column col, java.io.InputStream val, int length) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBlob
void setBlob(Column col, java.sql.Blob val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBoolean
void setBoolean(Column col, boolean val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setByte
void setByte(Column col, byte val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setBytes
void setBytes(Column col, byte[] val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setCalendar
void setCalendar(Column col, java.util.Calendar val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setChar
void setChar(Column col, char val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setCharacterStream
void setCharacterStream(Column col, java.io.Reader val, int length) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setClob
void setClob(Column col, java.sql.Clob val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setDate
void setDate(Column col, java.util.Date val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setDate
void setDate(Column col, java.sql.Date val, java.util.Calendar cal) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setDouble
void setDouble(Column col, double val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setFloat
void setFloat(Column col, float val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setInt
void setInt(Column col, int val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setLong
void setLong(Column col, long val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setLocale
void setLocale(Column col, java.util.Locale val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setNull
void setNull(Column col) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setNull
void setNull(Column col, boolean overrideDefault) throws java.sql.SQLException
Set the value of the given column in this row.- Parameters:
overrideDefault
- whether to set this column to null even if this is an insert and the column has a default- Throws:
java.sql.SQLException
-
setNumber
void setNumber(Column col, java.lang.Number val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setObject
void setObject(Column col, java.lang.Object val) throws java.sql.SQLException
Set the value of the given column in this row.- Parameters:
col
- the column being setval
- the value for the column- Throws:
java.sql.SQLException
-
setRaw
void setRaw(Column col, java.lang.String value) throws java.sql.SQLException
Set a DB understood value for the given column. The value will not be parameterized and instead be inserted as raw SQL.- Throws:
java.sql.SQLException
-
setRelationId
void setRelationId(Column col, OpenJPAStateManager sm, RelationId rel) throws java.sql.SQLException
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.- Throws:
java.sql.SQLException
-
setShort
void setShort(Column col, short val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setString
void setString(Column col, java.lang.String val) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setTime
void setTime(Column col, java.sql.Time val, java.util.Calendar cal) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
setTimestamp
void setTimestamp(Column col, java.sql.Timestamp val, java.util.Calendar cal) throws java.sql.SQLException
Set the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereArray
void whereArray(Column col, java.sql.Array val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereAsciiStream
void whereAsciiStream(Column col, java.io.InputStream val, int length) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBigDecimal
void whereBigDecimal(Column col, java.math.BigDecimal val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBigInteger
void whereBigInteger(Column col, java.math.BigInteger val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBinaryStream
void whereBinaryStream(Column col, java.io.InputStream val, int length) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBlob
void whereBlob(Column col, java.sql.Blob val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBoolean
void whereBoolean(Column col, boolean val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereByte
void whereByte(Column col, byte val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereBytes
void whereBytes(Column col, byte[] val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereCalendar
void whereCalendar(Column col, java.util.Calendar val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereChar
void whereChar(Column col, char val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereCharacterStream
void whereCharacterStream(Column col, java.io.Reader val, int length) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereClob
void whereClob(Column col, java.sql.Clob val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereDate
void whereDate(Column col, java.util.Date val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereDate
void whereDate(Column col, java.sql.Date val, java.util.Calendar cal) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereDouble
void whereDouble(Column col, double val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereFloat
void whereFloat(Column col, float val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereInt
void whereInt(Column col, int val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereLong
void whereLong(Column col, long val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereLocale
void whereLocale(Column col, java.util.Locale val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereNull
void whereNull(Column col) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereNumber
void whereNumber(Column col, java.lang.Number val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereObject
void whereObject(Column col, java.lang.Object val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Parameters:
col
- the column being setval
- the value for the column- Throws:
java.sql.SQLException
-
whereRaw
void whereRaw(Column col, java.lang.String value) throws java.sql.SQLException
Set a DB understood where condition for the given column. The value will not be parameterized and instead be inserted as raw SQL.- Throws:
java.sql.SQLException
-
whereShort
void whereShort(Column col, short val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereString
void whereString(Column col, java.lang.String val) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereTime
void whereTime(Column col, java.sql.Time val, java.util.Calendar cal) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
whereTimestamp
void whereTimestamp(Column col, java.sql.Timestamp val, java.util.Calendar cal) throws java.sql.SQLException
Set an equality condition on the value of the given column in this row.- Throws:
java.sql.SQLException
-
-