jobmatch.data
Class CVSectionDO
jobmatch.data.CVSectionDO
- Direct Known Subclasses:
- AssociationCandidateDO, CVComputerDO, CVTimespanDO, HobbyDO, JobwishDO, LanguageCandidateDO
- public abstract class CVSectionDO
- implements Serializable
Data core class, used to set, retrieve the CVSectionDO information.
- Since:
- jobmatch
- Version:
- $Revision: 1.4 $
- See Also:
- Serialized Form
Field Summary |
static jobmatch.data.RDBColumn |
Candidate
|
protected static boolean |
isView
|
static jobmatch.data.RDBColumn |
PrimaryKey
|
static jobmatch.data.RDBTable |
table
static final data members name the table and columns for this DO. |
Constructor Summary |
protected |
CVSectionDO()
Protected constructor. |
protected |
CVSectionDO(boolean is_view)
Protected constructor. |
protected |
CVSectionDO(jobmatch.data.ObjectId id)
Protected constructor used by createExisting(ObjectId) above. |
protected |
CVSectionDO(ResultSet rs)
Protected constructor. |
Method Summary |
protected void |
afterAnySet()
|
protected void |
beforeAnyGet()
The developer of a Business Object that derives from this class
can override the methods:
beforeAnyGet
beforeAnySet
afterAnySet
to handle any general assertions or cleanup needed
for get and set methods. |
protected void |
beforeAnySet()
|
void |
commit()
Inserts/Updates the DO into its table. |
void |
commit(jobmatch.data.DBTransaction dbt)
Inserts/Updates the DO into its table. |
void |
delete()
Deletes the DO from its table. |
void |
delete(jobmatch.data.DBTransaction dbt)
Deletes the DO from its table. |
CandidateDO |
getCandidate()
Get Candidate of the NewDBTable |
protected String |
getTableName()
Return NewDBTable as the name of the table in the database
which contains CVSectionDO objects. |
boolean |
isLoaded()
isLoaded()
Returns true if the data for this objects has been retrieved
from the database. |
boolean |
isReadOnly()
isReadOnly()
Returns true if the data for this object has been marked read-only. |
void |
loadData()
loadData()
Load the fields for the DO from the database. |
protected void |
makeIdentical(CVSectionDO orig)
makeIdentical()
Assigns the DataStruct of an existing DO to this DO. |
protected void |
modifyDO(jobmatch.data.DBTransaction dbt,
boolean delete)
Modifies the DO within its table. |
protected void |
okToCommit()
A stub method for implementing pre-commit assertions
for this CVSectionDO. |
protected void |
okToCommitCandidate(CandidateDO member)
A stub method for implementing pre-commit assertions
for the Candidate data member. |
protected void |
okToDelete()
A stub method for implementing pre-delete assertions
for this CVSectionDO. |
protected void |
okToDeleteCandidate(CandidateDO member)
A stub method for implementing pre-delete assertions
for the Candidate data member. |
void |
setCandidate(CandidateDO Candidate)
Set Candidate of the NewDBTable |
String |
toString()
|
String |
toString(int indentCount)
|
table
public static final jobmatch.data.RDBTable table
- static final data members name the table and columns for this DO.
By using these members with an instance of the QueryBuilder class,
an application can perform straight SQL queries while retaining
compile-time checking of table and column usage.
Example: List the Cities containing Persons named Bob:
Using straight SQL with QueryBuilder:
Pro: code runs faster because you create fewer objects
Con: code is less clear
Vector fields = new Vector();
fields.addElement( AddressDO.City );
QueryBuilder qb = new QueryBuilder( fields );
qb.addWhere( PersonDO.FirstName, "Bob" );
qb.addWhere( PersonDO.PrimaryKey, AddressDO.Person );
RDBRow row;
while ( null != ( row = qb.getNextRow() ) ) {
String city = row.get( AddressDO.City ).getString();
}
Using Query/DO classes:
Pro: code is (often) clearer
Con: code runs slower because you create more objects
PersonQuery pq = new PersonQuery();
pq.setQueryFirstName( "Bob" );
PersonDO[] bobs = pq.getDOArray();
for ( int i = 0; i < bobs.length; i++ ) {
AddressQuery aq = new AddressQuery();
aq.setQueryPerson( bobs[i] );
AddressDO addr = aq.getNextDO();
String city = addr.getCity();
}
PrimaryKey
public static final jobmatch.data.RDBColumn PrimaryKey
isView
protected static final boolean isView
Candidate
public static final jobmatch.data.RDBColumn Candidate
CVSectionDO
protected CVSectionDO(boolean is_view)
throws jobmatch.data.ObjectIdException,
jobmatch.data.DatabaseManagerException
- Protected constructor. Only derived classes should call it.
- Throws:
- jobmatch.data.DatabaseManagerException - If a connection to the database cannot be established, etc.
- com.lutris.appserver.server.sql.ObjectIdException - If an object id can't be allocated for this object.
CVSectionDO
protected CVSectionDO()
throws jobmatch.data.ObjectIdException,
jobmatch.data.DatabaseManagerException
- Protected constructor. Only derived classes should call it.
- Throws:
- jobmatch.data.DatabaseManagerException - If a connection to the database cannot be established, etc.
- com.lutris.appserver.server.sql.ObjectIdException - If an object id can't be allocated for this object.
CVSectionDO
protected CVSectionDO(jobmatch.data.ObjectId id)
throws SQLException,
jobmatch.data.ObjectIdException,
jobmatch.data.DataObjectException,
jobmatch.data.DatabaseManagerException
- Protected constructor used by createExisting(ObjectId) above.
Historical note (delete at will):
Formerly, createExisting(ObjectId) invoked the no-args GenericDO ctor,
which allocated a new ObjectId. Then, createExisting(ObjectId)
would call setOId(id), discarding the newly allocated ObjectId;
this resulted in an ObjectId "leak" (needless consumption of oid's.)
- Parameters:
id
- The ObjectId for the object.- Throws:
- jobmatch.data.DataObjectException - If the object is not found in the database.
- com.lutris.appserver.server.sql.ObjectIdException - If an object id can't be allocated for this object.
- jobmatch.data.DatabaseManagerException - If a connection to the database cannot be established, etc.
- SQLException - Should never see this exception since GenericDO.ctor(ObjectId)
never accesses the database.
CVSectionDO
protected CVSectionDO(ResultSet rs)
throws SQLException,
jobmatch.data.ObjectIdException,
jobmatch.data.DataObjectException,
jobmatch.data.DatabaseManagerException
- Protected constructor.
- Parameters:
rs
- Result set from which to obtain product data.- Throws:
- jobmatch.data.DataObjectException - If the object is not found in the database.
- com.lutris.appserver.server.sql.ObjectIdException - If an object id can't be allocated for this object.
- jobmatch.data.DatabaseManagerException - If a connection to the database cannot be established, etc.
- SQLException - If the database rejects the SQL generated to retrieve data
for this object, or if the table contains a bad foreign key, etc.
getTableName
protected String getTableName()
- Return NewDBTable as the name of the table in the database
which contains CVSectionDO objects.
This method overrides CoreDO.getTableName()
and is used by CoreDO.executeUpdate() during error handling.
- Returns:
- the database table name
- See Also:
CoreDO
isReadOnly
public boolean isReadOnly()
- isReadOnly()
Returns true if the data for this object has been marked read-only.
isLoaded
public boolean isLoaded()
- isLoaded()
Returns true if the data for this objects has been retrieved
from the database.
loadData
public void loadData()
throws SQLException,
jobmatch.data.ObjectIdException,
jobmatch.data.DataObjectException
- loadData()
Load the fields for the DO from the database.
- Throws:
- com.lutris.appserver.server.sql.ObjectIdException - If an object id can't be allocated for this object.
- jobmatch.data.DataObjectException - If the object is not found in the database.
- SQLException - If the database rejects the SQL generated to retrieve data
for this object, or if the table contains a bad foreign key, etc.
beforeAnyGet
protected void beforeAnyGet()
- The developer of a Business Object that derives from this class
can override the methods:
beforeAnyGet
beforeAnySet
afterAnySet
to handle any general assertions or cleanup needed
for get
and set
methods.
beforeAnySet
protected void beforeAnySet()
throws Exception
afterAnySet
protected void afterAnySet()
makeIdentical
protected void makeIdentical(CVSectionDO orig)
- makeIdentical()
Assigns the DataStruct of an existing DO to this DO.
Does not duplicate data. Just assigns the reference.
- Parameters:
orig
- The original DO.
getCandidate
public CandidateDO getCandidate()
throws jobmatch.data.DataObjectException
- Get Candidate of the NewDBTable
- Returns:
- Candidate of the NewDBTable
- Throws:
- jobmatch.data.DataObjectException - If the object is not found in the database.
setCandidate
public void setCandidate(CandidateDO Candidate)
throws jobmatch.data.DataObjectException
- Set Candidate of the NewDBTable
- Parameters:
Candidate
- of the NewDBTable- Throws:
- jobmatch.data.DataObjectException - If the object is not found in the database.
toString
public String toString()
toString
public String toString(int indentCount)
okToCommit
protected void okToCommit()
throws jobmatch.data.RefAssertionException
- A stub method for implementing pre-commit assertions
for this CVSectionDO.
Implement this stub to throw an RefAssertionException for cases
where this object is not valid for writing to the database.
okToDelete
protected void okToDelete()
throws jobmatch.data.RefAssertionException
- A stub method for implementing pre-delete assertions
for this CVSectionDO.
Implement this stub to throw an RefAssertionException for cases
where this object is not valid for deletion from the database.
commit
public void commit()
throws SQLException,
jobmatch.data.DatabaseManagerException,
jobmatch.data.DataObjectException,
jobmatch.data.RefAssertionException,
jobmatch.data.DBRowUpdateException,
jobmatch.data.QueryException
- Inserts/Updates the DO into its table.
- Throws:
- com.lutris.appserver.server.sql.DatabaseManagerException - if a Transaction can not be created.
- jobmatch.data.RefAssertionException - thrown by okTo method.
- SQLException - if any SQL errors occur.
commit
public void commit(jobmatch.data.DBTransaction dbt)
throws SQLException,
jobmatch.data.DatabaseManagerException,
jobmatch.data.DataObjectException,
jobmatch.data.RefAssertionException,
jobmatch.data.DBRowUpdateException,
jobmatch.data.QueryException
- Inserts/Updates the DO into its table.
The transaction is likely provided by the commit() method of another DO
which references this DO.
- Parameters:
dbt
- The transaction object to use for this operation.- Throws:
- com.lutris.appserver.server.sql.DatabaseManagerException - if a Transaction can not be created.
- com.lutris.appserver.server.sql.DBRowUpdateException - if a version error occurs.
- jobmatch.data.RefAssertionException - thrown by okTo method.
- SQLException - if any SQL errors occur.
delete
public void delete()
throws SQLException,
jobmatch.data.DatabaseManagerException,
jobmatch.data.DataObjectException,
jobmatch.data.RefAssertionException,
jobmatch.data.DBRowUpdateException,
jobmatch.data.QueryException
- Deletes the DO from its table.
- Throws:
- com.lutris.appserver.server.sql.DatabaseManagerException - if a Transaction can not be created.
- jobmatch.data.RefAssertionException - thrown by okTo method.
- SQLException - if any SQL errors occur.
delete
public void delete(jobmatch.data.DBTransaction dbt)
throws SQLException,
jobmatch.data.DatabaseManagerException,
jobmatch.data.DataObjectException,
jobmatch.data.RefAssertionException,
jobmatch.data.DBRowUpdateException,
jobmatch.data.QueryException
- Deletes the DO from its table.
The transaction is likely provided by the delete() method of another DO
which references this DO.
- Parameters:
dbt
- The transaction object to use for this operation.- Throws:
- com.lutris.appserver.server.sql.DatabaseManagerException - if a Transaction can not be created.
- com.lutris.appserver.server.sql.DBRowUpdateException - if a version error occurs.
- jobmatch.data.RefAssertionException - thrown by okTo method.
- SQLException - if any SQL errors occur.
okToCommitCandidate
protected void okToCommitCandidate(CandidateDO member)
throws jobmatch.data.RefAssertionException
- A stub method for implementing pre-commit assertions
for the Candidate data member.
Implement this stub to throw an RefAssertionException for cases
where Candidate is not valid for writing to the database.
okToDeleteCandidate
protected void okToDeleteCandidate(CandidateDO member)
throws jobmatch.data.RefAssertionException
- A stub method for implementing pre-delete assertions
for the Candidate data member.
Implement this stub to throw an RefAssertionException for cases
where Candidate is not valid for deletion from the database.
modifyDO
protected void modifyDO(jobmatch.data.DBTransaction dbt,
boolean delete)
throws SQLException,
jobmatch.data.DatabaseManagerException,
jobmatch.data.DataObjectException,
jobmatch.data.RefAssertionException,
jobmatch.data.DBRowUpdateException,
jobmatch.data.QueryException
- Modifies the DO within its table.
Performs recursive commit/delete on referenced DOs;
all operations occur within a single transaction
to allow rollback in the event of error.
Only the creator of the transaction releases it.
- Parameters:
dbt
- The transaction object to use for this operation.delete
- True if doing a delete, otherwise doing insert/update.- Throws:
- com.lutris.appserver.server.sql.DatabaseManagerException - if a Transaction can not be created.
- com.lutris.appserver.server.sql.DBRowUpdateException - if a version error occurs.
- jobmatch.data.RefAssertionException - thrown by okTo method.
- SQLException - if any SQL errors occur.