|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.empire.db.DBObject org.apache.empire.db.DBExpr org.apache.empire.db.DBRowSet
public abstract class DBRowSet
This class is the base class for all the DBTable, DBView and DBQuery classes this class contains all the columns of the tables, views or queries
Field Summary | |
---|---|
protected Map<DBColumn,DBColumn> |
columnReferences
|
protected List<DBColumn> |
columns
|
protected String |
comment
|
protected DBDatabase |
db
|
protected static org.slf4j.Logger |
log
|
protected DBIndex |
primaryKey
|
protected DBColumn |
timestampColumn
|
Fields inherited from class org.apache.empire.db.DBExpr |
---|
CTX_ALIAS, CTX_ALL, CTX_DEFAULT, CTX_FULLNAME, CTX_NAME, CTX_NOPARENTHESES, CTX_VALUE |
Constructor Summary | |
---|---|
DBRowSet(DBDatabase db)
Constructs a DBRecord object set the current database object. |
Method Summary | |
---|---|
protected void |
addColumnReference(DBColumn source,
DBColumn target)
Adds a column reference to the list of table references. |
void |
addReferencedColumns(Set<DBColumn> list)
Internal function to obtain all DBColumnExpr-objects used by this expression. |
protected void |
completeInitRecord(DBRecord rec)
Completes the record initialization. Override this function to do post initialization processing. |
DBColumnExpr |
count()
Returns a new DBCountExpr object. |
abstract void |
createRecord(DBRecord rec,
Connection conn)
|
protected void |
deleteAllReferences(Object[] key,
Connection conn)
Deletes all records which reference this table. |
abstract void |
deleteRecord(Object[] keys,
Connection conn)
|
void |
deleteRecord(Object id,
Connection conn)
Deletes a single record from the database. |
protected void |
deleteReferenceRecords(DBRelation.DBReference[] refs,
Object[] parentKey,
Connection conn)
Deletes all records which are referenced by a particular relation. |
boolean |
equals(Object other)
|
static DBRowSet |
findById(String rowsetId)
returns a rowset by its identifier |
abstract String |
getAlias()
|
DBColumn |
getColumn(int iColumn)
Returns a DBColumn object by a specified index value. |
DBColumn |
getColumn(String name)
Gets the column Expression with a particular name. |
int |
getColumnIndex(Column column)
Gets the index of a particular column expression. |
int |
getColumnIndex(DBColumn column)
Gets the index of a particular column expression. |
Map<DBColumn,DBColumn> |
getColumnReferences()
Returns the a list of column references. |
List<DBColumn> |
getColumns()
Gets all columns of this rowset (e.g. |
String |
getComment()
|
DBDatabase |
getDatabase()
Returns the current DBDatabase object. |
String |
getFullName()
Returns the full qualified name of the rowset. |
String |
getId()
Gets an identifier for this RowSet Object |
DBColumn[] |
getKeyColumns()
Returns an array of all primary key columns. |
abstract String |
getName()
|
Object[] |
getRecordKey(DBRecord rec)
Returns a array of primary key columns by a specified DBRecord object. |
protected String |
getRenameTablePhrase()
Returns the sql phrase for renaming tables. |
DBColumn |
getTimestampColumn()
|
void |
initRecord(DBRecord rec,
DBRecordData recData)
Initializes a DBRecord for this rowset using the record data provided (i.e. |
void |
initRecord(DBRecord rec,
Object[] keyValues)
Initializes a DBRecord for this RowSet and sets primary key values (the Object[] keyValues). |
boolean |
isColumnReadOnly(DBColumn col)
Checks whether a column is read only or writable. |
boolean |
isKeyColumn(DBColumn column)
Checks whether a given column is part of the primary key for this RowSet |
abstract boolean |
isUpdateable()
|
protected void |
prepareInitRecord(DBRecord rec,
int state,
Object rowSetData)
Initialize this DBRowSet object and sets it's initial state. |
protected void |
readRecord(DBRecord rec,
DBCommand cmd,
Connection conn)
Reads a single record from the database using the given command object. If a record is found the DBRecord object will hold all record data. |
void |
readRecord(DBRecord rec,
Object[] key,
Connection conn)
Reads the record with the given primary key from the database. |
boolean |
recordExists(Object[] key,
Connection conn)
Returns true if the record exists in the database or false otherwise. |
boolean |
recordExists(Object id,
Connection conn)
Returns true if the record exists in the database or false otherwise. |
void |
setComment(String comment)
|
protected void |
setKeyConstraints(DBCommand cmd,
Object[] key)
Set the constraints for a single record from a supplied key |
void |
setTimestampColumn(DBColumn timestampColumn)
|
void |
updateRecord(DBRecord rec,
Connection conn)
Updates or Inserts a record in the database. Whether an update or insert is performed depends on the record state. Only modified fields will be inserted or updated in the database. |
Methods inherited from class org.apache.empire.db.DBExpr |
---|
addSQL, getObjectValue, getValueClass |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final org.slf4j.Logger log
protected final transient DBDatabase db
protected String comment
protected DBIndex primaryKey
protected DBColumn timestampColumn
protected Map<DBColumn,DBColumn> columnReferences
protected List<DBColumn> columns
Constructor Detail |
---|
public DBRowSet(DBDatabase db)
db
- the database objectMethod Detail |
---|
public String getId()
public static DBRowSet findById(String rowsetId)
rowsetId
- the id of the rowset
public boolean equals(Object other)
equals
in class Object
public abstract String getName()
public abstract String getAlias()
public abstract boolean isUpdateable()
public abstract void createRecord(DBRecord rec, Connection conn)
public abstract void deleteRecord(Object[] keys, Connection conn)
public String getFullName()
public void addReferencedColumns(Set<DBColumn> list)
DBExpr
addReferencedColumns
in class DBExpr
list
- list to which all used column expressions must be addedDBExpr.addReferencedColumns(Set)
public final DBDatabase getDatabase()
getDatabase
in class DBObject
public List<DBColumn> getColumns()
public int getColumnIndex(DBColumn column)
column
- column the DBColumn to get the index for
public final int getColumnIndex(Column column)
column
- the Column to get the index for
public DBColumn getColumn(int iColumn)
iColumn
- the index to get the DBColumn for
public DBColumn getColumn(String name)
name
- the name of the column to look for
public boolean isColumnReadOnly(DBColumn col)
col
- the column object
public DBColumn[] getKeyColumns()
public boolean isKeyColumn(DBColumn column)
column
- the column to check
public String getComment()
public void setComment(String comment)
comment
- The comment to set.public DBColumn getTimestampColumn()
public void setTimestampColumn(DBColumn timestampColumn)
timestampColumn
- The timestampColumn to set.public Map<DBColumn,DBColumn> getColumnReferences()
protected void addColumnReference(DBColumn source, DBColumn target)
source
- a column reference for one of this table's columntarget
- the target column to which the source column referencespublic DBColumnExpr count()
protected String getRenameTablePhrase()
public Object[] getRecordKey(DBRecord rec)
rec
- the DBRecord object, contains all fields and the field properties
protected void prepareInitRecord(DBRecord rec, int state, Object rowSetData)
rec
- the DBRecord object to initialize this DBRowSet objectstate
- the state of this DBRowSet objectpublic void initRecord(DBRecord rec, Object[] keyValues)
rec
- the Record objectkeyValues
- an array of the primary key columnspublic void initRecord(DBRecord rec, DBRecordData recData)
rec
- the record objectrecData
- the record data from which to initialized the recordprotected void completeInitRecord(DBRecord rec)
rec
- the DBRecord object to initializeprotected void setKeyConstraints(DBCommand cmd, Object[] key)
cmd
- the command to which to add the constraintskey
- the record keyprotected void readRecord(DBRecord rec, DBCommand cmd, Connection conn)
rec
- the DBRecord object which holds the record datacmd
- the SQL-Command used to query the recordconn
- a valid JDBC connection.public void readRecord(DBRecord rec, Object[] key, Connection conn)
rec
- the DBRecord object which will hold the record datakey
- the primary key valuesconn
- a valid JDBC connection.public boolean recordExists(Object[] key, Connection conn)
key
- an array of the primary key columnsconn
- a valid JDBC connection.
public final boolean recordExists(Object id, Connection conn)
id
- id of the recordconn
- a valid JDBC connection.
public void updateRecord(DBRecord rec, Connection conn)
If a timestamp-column is set for this RowSet then a constraint will be added in the
update statement in order to detect concurrent changes.
If the record has been modified by another user, an error of type
DBErrors.RecordUpdateFailed will be set.
rec
- the DBRecord object. contains all fields and the field propertiesconn
- a valid JDBC connection.public final void deleteRecord(Object id, Connection conn)
id
- the record's primary keyconn
- a valid JDBC connectionprotected final void deleteAllReferences(Object[] key, Connection conn)
key
- the key the record to be deletedconn
- a valid connectionprotected void deleteReferenceRecords(DBRelation.DBReference[] refs, Object[] parentKey, Connection conn)
refs
- the reference columns belonging to the relationparentKey
- the key of the parent elementconn
- a valid connection
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |