PSE 2000 Group 4

jobmatch.data
Class EmployerCandidateQuery

jobmatch.data.EmployerCandidateQuery

public final class EmployerCandidateQuery

EmployerCandidateQuery is used to query the EmployerCandidate table in the database.
It returns objects of type EmployerCandidateDO.

General usage:

In DODS: Create a Data Object named "Dog", and create an Attribute named "Name", and set that Attribute to "Can be queried." DODS will then generate the method DogQuery.setQueryName().

In your Business Layer, prepare the query:

             DogQuery dq = new DogQuery();
             dq.setQueryName("Rex")
             if ( Rex is a reserved name )
                 dq.requireUniqueInstance();
 
Then, get the query results one of two ways:

#1:

             String names = "";
             DogBDO[] dogs = dq.getBDOArray();
             for ( int i = 0; i < dogs.length; i++ ) {
                 names += dogs[i].getName() + " ";
             }
 
or #2:
             String names = "";
             DogBDO dog;
             while ( null != ( dog = dq.getNextBDO() ) ) {
                 names += dog.getName() + " ";
             }
 
Note: Methods getDOArray() and getNextDO() do exist, but they are not generally used in the Business or Presentation layers of an application. All access to the Data Layer (DO classes) should occur via the Business Layer (BDO classes). Only the Business Layer (BDO classes and classes extending them) should need to manipulate the Data Layer (DO classes). See also the comments in the BDO constructors.

Note: If requireUniqueInstance() was called, then getBDOArray() or getNextBDO() will throw an exception if more than one "Rex" was found.

Note: Results of the query will come from the Data Object cache if: - The cache is available. - Matches were found in the cache. - No other tables (Data Objects of other types) were involved in the query. This can happen if you extend the DogQuery class and you make calls to the QueryBuilder object to add SQL involving other tables. If any of these conditions is not true, then any results from the query will come from the database.

To reuse the query object, call:

             dq.reset();
 

Version:
$Revision: 1.6 $

Constructor Summary
EmployerCandidateQuery()
          Public constructor.
 
Method Summary
 void addOrderByBeginDate()
          Add BeginDate to the ORDER BY clause.
 void addOrderByBeginDate(boolean direction_flag)
          Add BeginDate to the ORDER BY clause.
 void addOrderByCandidate()
          Add Candidate to the ORDER BY clause.
 void addOrderByCandidate(boolean direction_flag)
          Add Candidate to the ORDER BY clause.
 void addOrderByEmployer()
          Add Employer to the ORDER BY clause.
 void addOrderByEmployer(boolean direction_flag)
          Add Employer to the ORDER BY clause.
 void addOrderByEndDate()
          Add EndDate to the ORDER BY clause.
 void addOrderByEndDate(boolean direction_flag)
          Add EndDate to the ORDER BY clause.
 void addOrderByFunction()
          Add Function to the ORDER BY clause.
 void addOrderByFunction(boolean direction_flag)
          Add Function to the ORDER BY clause.
 void addOrderByPensum()
          Add Pensum to the ORDER BY clause.
 void addOrderByPensum(boolean direction_flag)
          Add Pensum to the ORDER BY clause.
 void addOrderByReference()
          Add Reference to the ORDER BY clause.
 void addOrderByReference(boolean direction_flag)
          Add Reference to the ORDER BY clause.
 void closeParen()
          Place a closing parenthesis in the WHERE clause.
 ResultSet executeQuery(jobmatch.data.DBConnection conn)
          Method to query objects from the database.
 EmployerCandidateBDO[] getBDOArray()
          Return array of BDOs constructed from ResultSet returned by query.
 EmployerCandidateDO[] getDOArray()
          Return array of DOs constructed from ResultSet returned by query.
 EmployerCandidateBDO getNextBDO()
          Return successive BDOs from array built from ResultSet returned by query.
 EmployerCandidateDO getNextDO()
          Return successive DOs from array built from ResultSet returned by query.
 jobmatch.data.QueryBuilder getQueryBuilder()
          Returns the QueryBuilder that this EmployerCandidateQuery uses to construct and execute database queries.
 void hitDatabase()
           
 Object next(ResultSet rs)
          WARNING! This method is disabled.
 void openParen()
          Place an open parenthesis in the WHERE clause.
 void or()
          Insert an OR between WHERE clauses.
 void requireUniqueInstance()
          Set "unique instance" assertion bit.
 void reset()
          Reset the query parameters.
 void setQueryBeginDate(Date x)
          Set the BeginDate to query
 void setQueryBeginDate(Date x, boolean exact)
          Set the BeginDate to query.
 void setQueryCandidate(CandidateDO x)
          Set the Candidate to query
 void setQueryCandidate(CandidateDO x, boolean exact)
          Set the Candidate to query.
 void setQueryEmployer(EmployerDO x)
          Set the Employer to query
 void setQueryEmployer(EmployerDO x, boolean exact)
          Set the Employer to query.
 void setQueryEndDate(Date x)
          Set the EndDate to query
 void setQueryEndDate(Date x, boolean exact)
          Set the EndDate to query.
 void setQueryFunction(String x)
          Set the Function to query
 void setQueryFunction(String x, boolean exact)
          Set the Function to query.
 void setQueryHandle(String handle)
          Set the object handle to query.
 void setQueryOId(jobmatch.data.ObjectId oid)
          Set the OID to query.
 void setQueryPensum(int x)
          Set the Pensum to query
 void setQueryPensum(int x, boolean exact)
          Set the Pensum to query.
 void setQueryReference(String x)
          Set the Reference to query
 void setQueryReference(String x, boolean exact)
          Set the Reference to query.
 

Constructor Detail

EmployerCandidateQuery

public EmployerCandidateQuery()
Public constructor.
Method Detail

hitDatabase

public void hitDatabase()

getDOArray

public EmployerCandidateDO[] getDOArray()
                                 throws jobmatch.data.DataObjectException,
                                        jobmatch.data.NonUniqueQueryException
Return array of DOs constructed from ResultSet returned by query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.
jobmatch.data.NonUniqueQueryException - If too many rows were found.

getNextDO

public EmployerCandidateDO getNextDO()
                              throws jobmatch.data.DataObjectException,
                                     jobmatch.data.NonUniqueQueryException
Return successive DOs from array built from ResultSet returned by query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.
jobmatch.data.NonUniqueQueryException - If too many rows were found.

getBDOArray

public EmployerCandidateBDO[] getBDOArray()
                                   throws jobmatch.data.DataObjectException,
                                          jobmatch.data.NonUniqueQueryException
Return array of BDOs constructed from ResultSet returned by query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.
jobmatch.data.NonUniqueQueryException - If too many rows were found.

getNextBDO

public EmployerCandidateBDO getNextBDO()
                                throws jobmatch.data.DataObjectException,
                                       jobmatch.data.NonUniqueQueryException
Return successive BDOs from array built from ResultSet returned by query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.
jobmatch.data.NonUniqueQueryException - If too many rows were found.

setQueryOId

public void setQueryOId(jobmatch.data.ObjectId oid)
Set the OID to query. WARNING! This method assumes that table EmployerCandidate has a column named "oid". This method is called from the DO classes to retrieve an object by id.
Parameters:
oid - The object id to query.

setQueryHandle

public void setQueryHandle(String handle)
                    throws jobmatch.data.ObjectIdException
Set the object handle to query. This is a variant of setQueryOId().
Parameters:
handle - The string version of the id to query.

requireUniqueInstance

public void requireUniqueInstance()
Set "unique instance" assertion bit. The first call to the next() method will throw an exception if more than one object was found.

reset

public void reset()
Reset the query parameters.

executeQuery

public ResultSet executeQuery(jobmatch.data.DBConnection conn)
                       throws SQLException
Method to query objects from the database. The following call in runQuery() dbQuery.query( this ); causes the dbQuery object to invoke executeQuery()
Parameters:
conn - Handle to database connection.
Throws:
SQLException - If a database access error occurs.

next

public Object next(ResultSet rs)
            throws SQLException,
                   jobmatch.data.ObjectIdException
WARNING! This method is disabled. It's implementation is forced by the Query interface. This method is disabled for 2 reasons: 1) the getDOArray() and getNextDO() methods are better because they return DOs instead of JDBC objects. 2) the createExisting() method throws an exception that we cannot reasonably handle here, and that we cannot throw from here.
Parameters:
rs - JDBC result set from which the next object will be instantiated.
Throws:
SQLException - If a database access error occurs.
com.lutris.appserver.server.sql.ObjectIdException - If an invalid object id was queried from the database.

setQueryCandidate

public void setQueryCandidate(CandidateDO x,
                              boolean exact)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the Candidate to query.
Parameters:
x - The Candidate of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryCandidate

public void setQueryCandidate(CandidateDO x)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the Candidate to query
Parameters:
x - The Candidate of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByCandidate

public void addOrderByCandidate(boolean direction_flag)
Add Candidate to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByCandidate

public void addOrderByCandidate()
Add Candidate to the ORDER BY clause. This convenience method assumes ascending order.

setQueryBeginDate

public void setQueryBeginDate(Date x,
                              boolean exact)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the BeginDate to query.
Parameters:
x - The BeginDate of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryBeginDate

public void setQueryBeginDate(Date x)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the BeginDate to query
Parameters:
x - The BeginDate of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByBeginDate

public void addOrderByBeginDate(boolean direction_flag)
Add BeginDate to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByBeginDate

public void addOrderByBeginDate()
Add BeginDate to the ORDER BY clause. This convenience method assumes ascending order.

setQueryEndDate

public void setQueryEndDate(Date x,
                            boolean exact)
                     throws jobmatch.data.DataObjectException,
                            jobmatch.data.QueryException
Set the EndDate to query.
Parameters:
x - The EndDate of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryEndDate

public void setQueryEndDate(Date x)
                     throws jobmatch.data.DataObjectException,
                            jobmatch.data.QueryException
Set the EndDate to query
Parameters:
x - The EndDate of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByEndDate

public void addOrderByEndDate(boolean direction_flag)
Add EndDate to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByEndDate

public void addOrderByEndDate()
Add EndDate to the ORDER BY clause. This convenience method assumes ascending order.

setQueryEmployer

public void setQueryEmployer(EmployerDO x,
                             boolean exact)
                      throws jobmatch.data.DataObjectException,
                             jobmatch.data.QueryException
Set the Employer to query.
Parameters:
x - The Employer of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryEmployer

public void setQueryEmployer(EmployerDO x)
                      throws jobmatch.data.DataObjectException,
                             jobmatch.data.QueryException
Set the Employer to query
Parameters:
x - The Employer of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByEmployer

public void addOrderByEmployer(boolean direction_flag)
Add Employer to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByEmployer

public void addOrderByEmployer()
Add Employer to the ORDER BY clause. This convenience method assumes ascending order.

setQueryReference

public void setQueryReference(String x,
                              boolean exact)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the Reference to query.
Parameters:
x - The Reference of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryReference

public void setQueryReference(String x)
                       throws jobmatch.data.DataObjectException,
                              jobmatch.data.QueryException
Set the Reference to query
Parameters:
x - The Reference of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByReference

public void addOrderByReference(boolean direction_flag)
Add Reference to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByReference

public void addOrderByReference()
Add Reference to the ORDER BY clause. This convenience method assumes ascending order.

setQueryFunction

public void setQueryFunction(String x,
                             boolean exact)
                      throws jobmatch.data.DataObjectException,
                             jobmatch.data.QueryException
Set the Function to query.
Parameters:
x - The Function of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryFunction

public void setQueryFunction(String x)
                      throws jobmatch.data.DataObjectException,
                             jobmatch.data.QueryException
Set the Function to query
Parameters:
x - The Function of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByFunction

public void addOrderByFunction(boolean direction_flag)
Add Function to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByFunction

public void addOrderByFunction()
Add Function to the ORDER BY clause. This convenience method assumes ascending order.

setQueryPensum

public void setQueryPensum(int x,
                           boolean exact)
                    throws jobmatch.data.DataObjectException,
                           jobmatch.data.QueryException
Set the Pensum to query.
Parameters:
x - The Pensum of the EmployerCandidate to query.
exact - to use matches or not
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

setQueryPensum

public void setQueryPensum(int x)
                    throws jobmatch.data.DataObjectException,
                           jobmatch.data.QueryException
Set the Pensum to query
Parameters:
x - The Pensum of the EmployerCandidate to query.
Throws:
jobmatch.data.DataObjectException - If a database access error occurs.

addOrderByPensum

public void addOrderByPensum(boolean direction_flag)
Add Pensum to the ORDER BY clause.
Parameters:
direction_flag - True for ascending order, false for descending

addOrderByPensum

public void addOrderByPensum()
Add Pensum to the ORDER BY clause. This convenience method assumes ascending order.

getQueryBuilder

public jobmatch.data.QueryBuilder getQueryBuilder()
Returns the QueryBuilder that this EmployerCandidateQuery uses to construct and execute database queries. EmployerCandidateQuery.setQueryXXX methods use the QueryBuilder to append SQL expressions to the "WHERE" clause to be executed. The QueryBuilder.addEndClause method. can be used to append freeform SQL expressions to the WHERE clause, e.g. "ORDER BY name". Notes regarding cache-enabled DO classes: DO classes can be cache-enabled. If when using a EmployerCandidateQuery, the application developer does not call getQueryBuilder, then EmployerCandidateQuery.setQueryXXX methods simply prune the DO cache and return the remaining results. However, a QueryBuilder builds SELECT statements for execution by the actual database, and never searches the built-in cache for the DO. So, if the DO class is cache-enabled, and getQueryBuilder is called, this EmployerCandidateQuery object ignores the cache and hits the actual database.

or

public void or()
Insert an OR between WHERE clauses. Example: find all the persons named Bob or Robert: PersonQuery pq = new PersonQuery(); pq.setQueryFirstName( "Bob" ); pq.or(); pq.setQueryFirstName( "Robert" ); Note: Calls to setQueryXxx methods are implicitly ANDed together, so the following example will always return nothing: PersonQuery pq = new PersonQuery(); pq.setQueryFirstName( "Bob" ); // AND automatically inserted here. pq.setQueryFirstName( "Robert" );
See Also:
to construct more elaborate queries.

openParen

public void openParen()
Place an open parenthesis in the WHERE clause. Example usage: find all the Bobs and Roberts who are 5 or 50 years old: PersonQuery pq = new PersonQuery(); pq.openParen(); pq.setQueryFirstName( "Bob" ); pq.or(); pq.setQueryFirstName( "Robert" ); pq.closeParen(); // AND automatically inserted here. pq.openParen(); pq.setQueryAge( 5 ); pq.or(); pq.setQueryAge( 50 ); pq.closeParen();
See Also:
to construct more elaborate queries.

closeParen

public void closeParen()
Place a closing parenthesis in the WHERE clause.
See Also:
openParen

PSE 2000 Group 4