PSE 2000 Group 4

jobmatch.data
Class ProfileDO

jobmatch.data.ProfileDO

public class ProfileDO
implements Serializable

Data core class, used to set, retrieve the ProfileDO information.

Since:
jobmatch
Version:
$Revision: 1.6 $
See Also:
Serialized Form

Field Summary
static jobmatch.data.RDBColumn Company
           
protected static boolean isView
           
static jobmatch.data.RDBColumn LastNotification
           
static jobmatch.data.RDBColumn MatchTree
           
static jobmatch.data.RDBColumn Name
           
static jobmatch.data.RDBColumn NeedsRematching
           
static jobmatch.data.RDBColumn NotificationPeriod
           
static jobmatch.data.RDBColumn Notify
           
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 ProfileDO()
          Protected constructor.
protected ProfileDO(boolean is_view)
          Protected constructor.
protected ProfileDO(jobmatch.data.ObjectId id)
          Protected constructor used by createExisting(ObjectId) above.
protected ProfileDO(ResultSet rs)
          Protected constructor.
 
Method Summary
 void addCandidateProfileDO(CandidateProfileDO referrer)
          Add (set & commit) a CandidateProfileDO object that refers to this DO.
 void addCandidateProfileDO(CandidateProfileDO referrer, jobmatch.data.DBTransaction tran)
          Add (set & commit) a CandidateProfileDO object that refers to this DO.
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.
static ProfileDO createCopy(ProfileDataStruct data)
          createCopy() Creates a DO that has no ObjectId but has a copy of an existing DO's data.
static ProfileDO createCopy(ProfileDO orig)
          createCopy() Creates a DO that has no ObjectId but has a copy of an existing DO's data.
static ProfileDO createExisting(BigDecimal bd)
          createExisting( BigDecimal ) Factory method creates a ProfileDO object by searching for it in the database using the passed BigDecimal value as the primary key.
protected static ProfileDO createExisting(jobmatch.data.ObjectId id)
          createExisting( ObjectId ) Factory method creates a ProfileDO object by searching for it in the database using the passed ObjectID value as the primary key.
protected static ProfileDO createExisting(jobmatch.data.RDBColumnValue pk)
          createExisting( RDBColumnValue ) Factory method creates a ProfileDO object by searching for it in the database using the passed ProfileDO.PrimaryKey.
protected static ProfileDO createExisting(jobmatch.data.RDBRow row)
          createExisting( RDBRow ) Factory method creates a ProfileDO object by searching for it in the database using the ProfileDO.PrimaryKey value in the passed RDBRow.
protected static ProfileDO createExisting(ResultSet rs)
          createExisting( ResultSet ) Factory method used to create an instance of this class to represent a Data Object already existing in the database.
static ProfileDO createExisting(String handle)
          The createExisting method is used to create a ProfileDO from a string handle.
static ProfileDO createVirgin()
          createVirgin() Creates a DO that has no ObjectId or data.
 void delete()
          Deletes the DO from its table.
 void delete(jobmatch.data.DBTransaction dbt)
          Deletes the DO from its table.
 CandidateDO[] getCandidateDOArray_via_CandidateProfile()
          From the many-to-many relationship expressed by CandidateProfileDO, get array of CandidateDO objects that indirectly refer to this DO.
 CandidateProfileDO getCandidateProfileDO()
          Get the single CandidateProfileDO object that refers to this DO.
 CandidateProfileDO[] getCandidateProfileDOArray()
          Get array of CandidateProfileDO objects that refer to this DO.
 CompanyDO getCompany()
          Get Company of the Profile
 PreparedStatement getDeleteStatement(jobmatch.data.DBConnection conn)
          Prepares the statement used to delete this object from the database.
 String getHandle()
          The methods getHandle hasMatchingHandle are used by Presentation Objects that need to populate HTML select lists with Data Objects as options.
 PreparedStatement getInsertStatement(jobmatch.data.DBConnection conn)
          Prepares the statement used to insert this object into the database.
 Timestamp getLastNotification()
          Get LastNotification of the Profile
 byte[] getMatchTree()
          Get MatchTree of the Profile
 String getName()
          Get Name of the Profile
 boolean getNeedsRematching()
          Get NeedsRematching of the Profile
 int getNotificationPeriod()
          Get NotificationPeriod of the Profile
 boolean getNotify()
          Get Notify of the Profile
protected  String getTableName()
          Return Profile as the name of the table in the database which contains ProfileDO objects.
 PreparedStatement getUpdateStatement(jobmatch.data.DBConnection conn)
          Prepares the statement used to update this object in the database.
 boolean hasMatchingHandle(String handle)
          hasMatchingHandle
 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(ProfileDO orig)
          makeIdentical() Assigns the DataStruct of an existing DO to this DO.
 void mapCandidate_via_CandidateProfileDO(CandidateDO d)
          To the many-to-many relationship expressed by CandidateProfileDO, add a CandidateDO object that indirectly refers to this DO.
 void mapCandidate_via_CandidateProfileDO(CandidateDO d, jobmatch.data.DBTransaction tran)
          To the many-to-many relationship expressed by CandidateProfileDO, add a CandidateDO object that indirectly refers 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 ProfileDO.
protected  void okToCommitCompany(CompanyDO member)
          A stub method for implementing pre-commit assertions for the Company data member.
protected  void okToDelete()
          A stub method for implementing pre-delete assertions for this ProfileDO.
protected  void okToDeleteCompany(CompanyDO member)
          A stub method for implementing pre-delete assertions for the Company data member.
 void reload()
          reload() Causes the DO to refresh itself from the database the next time a set or get method is called.
 void removeCandidateProfileDO(CandidateProfileDO referrer)
          Remove (delete) a CandidateProfileDO object that refers to this DO.
 void removeCandidateProfileDO(CandidateProfileDO referrer, jobmatch.data.DBTransaction tran)
          Remove (delete) a CandidateProfileDO object that refers to this DO.
 void setCompany(CompanyDO Company)
          Set Company of the Profile
 void setLastNotification(Timestamp LastNotification)
          Set LastNotification of the Profile
 void setMatchTree(byte[] MatchTree)
          Set MatchTree of the Profile
 void setName(String Name)
          Set Name of the Profile
 void setNeedsRematching(boolean NeedsRematching)
          Set NeedsRematching of the Profile
 void setNotificationPeriod(int NotificationPeriod)
          Set NotificationPeriod of the Profile
 void setNotify(boolean Notify)
          Set Notify of the Profile
 String toString()
           
 String toString(int indentCount)
           
 void unmapCandidate_via_CandidateProfileDO(CandidateDO d)
          From the many-to-many relationship expressed by CandidateProfileDO, remove (delete) the CandidateDO object that indirectly refers to this DO.
 void unmapCandidate_via_CandidateProfileDO(CandidateDO d, jobmatch.data.DBTransaction tran)
          From the many-to-many relationship expressed by CandidateProfileDO, remove (delete) the CandidateDO object that indirectly refers to this DO.
 

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

Company

public static final jobmatch.data.RDBColumn Company

LastNotification

public static final jobmatch.data.RDBColumn LastNotification

MatchTree

public static final jobmatch.data.RDBColumn MatchTree

Name

public static final jobmatch.data.RDBColumn Name

NeedsRematching

public static final jobmatch.data.RDBColumn NeedsRematching

Notify

public static final jobmatch.data.RDBColumn Notify

NotificationPeriod

public static final jobmatch.data.RDBColumn NotificationPeriod
Constructor Detail

ProfileDO

protected ProfileDO(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.

ProfileDO

protected ProfileDO()
             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.

ProfileDO

protected ProfileDO(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.

ProfileDO

protected ProfileDO(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 Profile as the name of the table in the database which contains ProfileDO 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()

createVirgin

public static ProfileDO createVirgin()
                              throws jobmatch.data.DatabaseManagerException,
                                     jobmatch.data.ObjectIdException
createVirgin() Creates a DO that has no ObjectId or data. Such a DO is used to insert a new database entry after its data has been set.
Throws:
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.

createExisting

public static ProfileDO createExisting(BigDecimal bd)
                                throws SQLException,
                                       jobmatch.data.ObjectIdException,
                                       jobmatch.data.DataObjectException,
                                       jobmatch.data.DatabaseManagerException
createExisting( BigDecimal ) Factory method creates a ProfileDO object by searching for it in the database using the passed BigDecimal value as the primary key. Creates a DO that represents an existing entry in the database. Such a DO is used to examine and possibly update such an entry. createExisting() is called only from the code that retrieves an ObjectId from a ResultSet (database query result). createExisting() is protected because no other DO or BO should ever need to call it. FIX unfortunately the createExisting(BigDecimal) form *does* need to be public because it is called by the public ctors of other DOs. For example, AaaDO contains a ref to a BbbDO, so there is a method AaaDO.setBbb(BbbDO). In the ctor AaaDO(ResultSet), we have the call setBbb( BbbDO.createExisting( rs.getBigDecimal( "bbb", 0 ))); Since AaaDO is not in the same package as BbbDO, BbbDO.createExisting(BigDecimal) must be public, not protected. Java needs the C++ 'friend' idea.
Parameters:
bd - The BigDecimal representation of 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 - If the database rejects the SQL generated to retrieve data for this object, or if the table contains a bad foreign key, etc.

createExisting

public static ProfileDO createExisting(String handle)
The createExisting method is used to create a ProfileDO from a string handle.

createExisting

protected static ProfileDO createExisting(jobmatch.data.ObjectId id)
                                   throws SQLException,
                                          jobmatch.data.ObjectIdException,
                                          jobmatch.data.DataObjectException,
                                          jobmatch.data.DatabaseManagerException
createExisting( ObjectId ) Factory method creates a ProfileDO object by searching for it in the database using the passed ObjectID value as the primary key.
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 - If the database rejects the SQL generated to retrieve data for this object, or if the table contains a bad foreign key, etc.

createExisting

protected static ProfileDO createExisting(ResultSet rs)
                                   throws SQLException,
                                          jobmatch.data.ObjectIdException,
                                          jobmatch.data.DataObjectException,
                                          jobmatch.data.DatabaseManagerException
createExisting( ResultSet ) Factory method used to create an instance of this class to represent a Data Object already existing in the database.
Parameters:
rs - The ResultSet returned by the Query class for an existing Data Object stored in the database.
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.

createExisting

protected static ProfileDO createExisting(jobmatch.data.RDBRow row)
                                   throws SQLException,
                                          jobmatch.data.ObjectIdException,
                                          jobmatch.data.DataObjectException,
                                          jobmatch.data.DatabaseManagerException
createExisting( RDBRow ) Factory method creates a ProfileDO object by searching for it in the database using the ProfileDO.PrimaryKey value in the passed RDBRow.
Parameters:
RDBRow - A row returned by QueryBuilder.getNextRow().
Throws:
jobmatch.data.DataObjectException - If the RDBRow does not contain a ProfileDO.PrimaryKey. 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.

createExisting

protected static ProfileDO createExisting(jobmatch.data.RDBColumnValue pk)
                                   throws SQLException,
                                          jobmatch.data.ObjectIdException,
                                          jobmatch.data.DataObjectException,
                                          jobmatch.data.DatabaseManagerException
createExisting( RDBColumnValue ) Factory method creates a ProfileDO object by searching for it in the database using the passed ProfileDO.PrimaryKey.
Parameters:
RDBColumnValue - a PrimaryKey column value from a row that was returned by QueryBuilder.getNextRow().
Throws:
jobmatch.data.DataObjectException - If the RDBColumnValue does not contain a ProfileDO.PrimaryKey. 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.

createCopy

public static ProfileDO createCopy(ProfileDataStruct data)
                            throws jobmatch.data.DatabaseManagerException,
                                   jobmatch.data.ObjectIdException
createCopy() Creates a DO that has no ObjectId but has a copy of an existing DO's data. Such a DO is used to insert a new database entry that is largely similar to an existing entry.
Parameters:
data - The data struct to copy values from.
Throws:
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.

createCopy

public static ProfileDO createCopy(ProfileDO orig)
                            throws jobmatch.data.DatabaseManagerException,
                                   jobmatch.data.ObjectIdException
createCopy() Creates a DO that has no ObjectId but has a copy of an existing DO's data. Such a DO is used to insert a new database entry that is largely similar to an existing entry.
Parameters:
orig - The original DO to copy.
Throws:
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.

reload

public void reload()
reload() Causes the DO to refresh itself from the database the next time a set or get method is called.

getHandle

public String getHandle()
                 throws jobmatch.data.DatabaseManagerException
The methods getHandle hasMatchingHandle are used by Presentation Objects that need to populate HTML select lists with Data Objects as options. The getHandle() method is used to set the value for each option, and the hasMatchingHandle() methods are used to lookup the Data Object when the selection has been made.
Returns:
id of this DO as a string If an object id can't be allocated for this object.
Throws:
jobmatch.data.DatabaseManagerException - If a connection to the database cannot be established, etc.

hasMatchingHandle

public boolean hasMatchingHandle(String handle)
hasMatchingHandle
Parameters:
handle - String version of DO id
Returns:
boolean True if the string version of the id of this DO matches passed handle
See Also:
getHandle

makeIdentical

protected void makeIdentical(ProfileDO 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.

getCompany

public CompanyDO getCompany()
                     throws jobmatch.data.DataObjectException
Get Company of the Profile
Returns:
Company of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setCompany

public void setCompany(CompanyDO Company)
                throws jobmatch.data.DataObjectException
Set Company of the Profile
Parameters:
Company - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getLastNotification

public Timestamp getLastNotification()
                              throws jobmatch.data.DataObjectException
Get LastNotification of the Profile
Returns:
LastNotification of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setLastNotification

public void setLastNotification(Timestamp LastNotification)
                         throws jobmatch.data.DataObjectException
Set LastNotification of the Profile
Parameters:
LastNotification - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getMatchTree

public byte[] getMatchTree()
                    throws jobmatch.data.DataObjectException
Get MatchTree of the Profile
Returns:
MatchTree of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setMatchTree

public void setMatchTree(byte[] MatchTree)
                  throws jobmatch.data.DataObjectException
Set MatchTree of the Profile
Parameters:
MatchTree - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getName

public String getName()
               throws jobmatch.data.DataObjectException
Get Name of the Profile
Returns:
Name of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setName

public void setName(String Name)
             throws jobmatch.data.DataObjectException
Set Name of the Profile
Parameters:
Name - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getNeedsRematching

public boolean getNeedsRematching()
                           throws jobmatch.data.DataObjectException
Get NeedsRematching of the Profile
Returns:
NeedsRematching of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setNeedsRematching

public void setNeedsRematching(boolean NeedsRematching)
                        throws jobmatch.data.DataObjectException
Set NeedsRematching of the Profile
Parameters:
NeedsRematching - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getNotify

public boolean getNotify()
                  throws jobmatch.data.DataObjectException
Get Notify of the Profile
Returns:
Notify of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setNotify

public void setNotify(boolean Notify)
               throws jobmatch.data.DataObjectException
Set Notify of the Profile
Parameters:
Notify - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getNotificationPeriod

public int getNotificationPeriod()
                          throws jobmatch.data.DataObjectException
Get NotificationPeriod of the Profile
Returns:
NotificationPeriod of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

setNotificationPeriod

public void setNotificationPeriod(int NotificationPeriod)
                           throws jobmatch.data.DataObjectException
Set NotificationPeriod of the Profile
Parameters:
NotificationPeriod - of the Profile
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

getInsertStatement

public PreparedStatement getInsertStatement(jobmatch.data.DBConnection conn)
                                     throws SQLException
Prepares the statement used to insert this object into the database.
Parameters:
conn - the database connection.
Returns:
the insert statement.
Throws:
SQLException - if an error occurs.

getUpdateStatement

public PreparedStatement getUpdateStatement(jobmatch.data.DBConnection conn)
                                     throws SQLException
Prepares the statement used to update this object in the database.
Parameters:
conn - the database connection
Returns:
the update statement.
Throws:
SQLException - if an error occurs.

getDeleteStatement

public PreparedStatement getDeleteStatement(jobmatch.data.DBConnection conn)
                                     throws SQLException
Prepares the statement used to delete this object from the database.
Parameters:
conn - the database connection
Returns:
the delete statement.
Throws:
SQLException - if an error occurs.

toString

public String toString()

toString

public String toString(int indentCount)

getCandidateProfileDOArray

public CandidateProfileDO[] getCandidateProfileDOArray()
                                                throws jobmatch.data.DataObjectException,
                                                       jobmatch.data.QueryException
Get array of CandidateProfileDO objects that refer to this DO.
Returns:
array of CandidateProfileDO objects.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.
jobmatch.data.QueryException - If an error occured while building the query before execution.

getCandidateProfileDO

public CandidateProfileDO getCandidateProfileDO()
                                         throws jobmatch.data.DataObjectException,
                                                jobmatch.data.QueryException,
                                                jobmatch.data.NonUniqueQueryException
Get the single CandidateProfileDO object that refers to this DO.
Returns:
CandidateProfileDO object.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.
jobmatch.data.QueryException - If an error occured while building the query before execution.
jobmatch.data.NonUniqueQueryException - If more than one CandidateProfileDO object was found.

addCandidateProfileDO

public void addCandidateProfileDO(CandidateProfileDO referrer)
                           throws SQLException,
                                  jobmatch.data.DatabaseManagerException,
                                  jobmatch.data.DataObjectException,
                                  jobmatch.data.RefAssertionException,
                                  jobmatch.data.DBRowUpdateException,
                                  jobmatch.data.QueryException
Add (set & commit) a CandidateProfileDO object that refers to this DO.
Parameters:
referrer - CandidateProfileDO to be set to point to this DO and committed.
Throws:
jobmatch.data.DatabaseManagerException - if could not create a transaction
SQLException - if any SQL errors occur.
jobmatch.data.DataObjectException - If object is not found in the database.

addCandidateProfileDO

public void addCandidateProfileDO(CandidateProfileDO referrer,
                                  jobmatch.data.DBTransaction tran)
                           throws SQLException,
                                  jobmatch.data.DatabaseManagerException,
                                  jobmatch.data.DataObjectException,
                                  jobmatch.data.RefAssertionException,
                                  jobmatch.data.DBRowUpdateException,
                                  jobmatch.data.QueryException
Add (set & commit) a CandidateProfileDO object that refers to this DO.
Parameters:
referrer - CandidateProfileDO to be set to point to this DO and committed.
tran - The transaction to be used for the commit. If null, a new transaction is created.
Throws:
jobmatch.data.DatabaseManagerException - if could not create a transaction
SQLException - if any SQL errors occur.
jobmatch.data.DataObjectException - If object is not found in the database.

removeCandidateProfileDO

public void removeCandidateProfileDO(CandidateProfileDO referrer)
                              throws SQLException,
                                     jobmatch.data.DatabaseManagerException,
                                     jobmatch.data.DataObjectException,
                                     jobmatch.data.RefAssertionException,
                                     jobmatch.data.DBRowUpdateException,
                                     jobmatch.data.QueryException
Remove (delete) a CandidateProfileDO object that refers to this DO.
Parameters:
referrer - CandidateProfileDO to be deleted.
Throws:
jobmatch.data.DatabaseManagerException - if could not create a transaction
SQLException - if any SQL errors occur.
jobmatch.data.DataObjectException - If object is not found in the database.

removeCandidateProfileDO

public void removeCandidateProfileDO(CandidateProfileDO referrer,
                                     jobmatch.data.DBTransaction tran)
                              throws SQLException,
                                     jobmatch.data.DatabaseManagerException,
                                     jobmatch.data.DataObjectException,
                                     jobmatch.data.RefAssertionException,
                                     jobmatch.data.DBRowUpdateException,
                                     jobmatch.data.QueryException
Remove (delete) a CandidateProfileDO object that refers to this DO.
Parameters:
referrer - CandidateProfileDO to be deleted.
tran - The transaction to be used for the commit. If null, a new transaction is created.
Throws:
jobmatch.data.DatabaseManagerException - if could not create a transaction
SQLException - if any SQL errors occur.
jobmatch.data.DataObjectException - If object is not found in the database.

getCandidateDOArray_via_CandidateProfile

public CandidateDO[] getCandidateDOArray_via_CandidateProfile()
                                                       throws jobmatch.data.DataObjectException
From the many-to-many relationship expressed by CandidateProfileDO, get array of CandidateDO objects that indirectly refer to this DO.
Returns:
array of CandidateDO objects.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

mapCandidate_via_CandidateProfileDO

public void mapCandidate_via_CandidateProfileDO(CandidateDO d)
                                         throws jobmatch.data.DataObjectException,
                                                jobmatch.data.DatabaseManagerException,
                                                jobmatch.data.RefAssertionException,
                                                SQLException,
                                                jobmatch.data.DBRowUpdateException,
                                                jobmatch.data.QueryException
To the many-to-many relationship expressed by CandidateProfileDO, add a CandidateDO object that indirectly refers to this DO.
Parameters:
d - The CandidateDO to add to the CandidateProfileDO mapping for this DO.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

mapCandidate_via_CandidateProfileDO

public void mapCandidate_via_CandidateProfileDO(CandidateDO d,
                                                jobmatch.data.DBTransaction tran)
                                         throws jobmatch.data.DataObjectException,
                                                jobmatch.data.DatabaseManagerException,
                                                jobmatch.data.RefAssertionException,
                                                SQLException,
                                                jobmatch.data.DBRowUpdateException,
                                                jobmatch.data.QueryException
To the many-to-many relationship expressed by CandidateProfileDO, add a CandidateDO object that indirectly refers to this DO.
Parameters:
b - The CandidateDO to add to the CandidateProfileDO mapping for this DO.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.

unmapCandidate_via_CandidateProfileDO

public void unmapCandidate_via_CandidateProfileDO(CandidateDO d)
                                           throws jobmatch.data.DataObjectException,
                                                  jobmatch.data.DatabaseManagerException,
                                                  jobmatch.data.RefAssertionException,
                                                  SQLException,
                                                  jobmatch.data.DBRowUpdateException,
                                                  jobmatch.data.QueryException
From the many-to-many relationship expressed by CandidateProfileDO, remove (delete) the CandidateDO object that indirectly refers to this DO.
Parameters:
d - The CandidateDO to remove from the CandidateProfileDO mapping for this DO.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.
jobmatch.data.QueryException - If an error occured while building the query before execution.

unmapCandidate_via_CandidateProfileDO

public void unmapCandidate_via_CandidateProfileDO(CandidateDO d,
                                                  jobmatch.data.DBTransaction tran)
                                           throws jobmatch.data.DataObjectException,
                                                  jobmatch.data.DatabaseManagerException,
                                                  jobmatch.data.RefAssertionException,
                                                  SQLException,
                                                  jobmatch.data.DBRowUpdateException,
                                                  jobmatch.data.QueryException
From the many-to-many relationship expressed by CandidateProfileDO, remove (delete) the CandidateDO object that indirectly refers to this DO.
Parameters:
b - The CandidateDO to remove from the CandidateProfileDO mapping for this DO.
Throws:
jobmatch.data.DataObjectException - If the object is not found in the database.
jobmatch.data.QueryException - If an error occured while building the query before execution.

okToCommit

protected void okToCommit()
                   throws jobmatch.data.RefAssertionException
A stub method for implementing pre-commit assertions for this ProfileDO. 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 ProfileDO. 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.

okToCommitCompany

protected void okToCommitCompany(CompanyDO member)
                          throws jobmatch.data.RefAssertionException
A stub method for implementing pre-commit assertions for the Company data member. Implement this stub to throw an RefAssertionException for cases where Company is not valid for writing to the database.

okToDeleteCompany

protected void okToDeleteCompany(CompanyDO member)
                          throws jobmatch.data.RefAssertionException
A stub method for implementing pre-delete assertions for the Company data member. Implement this stub to throw an RefAssertionException for cases where Company 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