PSE 2000 Group 4

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)
           
 

Field Detail

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
Constructor Detail

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.
Method Detail

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.

PSE 2000 Group 4