The Jobfilter object model is given in the UML class diagram below:
The classes in the diagram correspond to those in package
com.plus.fcentre.jobfilter.domain
(in project
jobfilter-common
). A description of the classes and their
relationships follows:
-
Agency
An agency employing a number of agents and holding the registrations
of a number of CVs.
-
Agent
An agent employed by an agency and who is handing a number of vacancies.
-
Vacancy
Abstract base class for a vacancy being handled by an agent.
-
NewVacancy
A vacancy in the
new
state. New vacancies have not undergone the
initial filtering process.
-
PendingVacancy
A vacancy in the
pending
state. Pending vacancies have successfully
passed the initial vacancy filtering process and may or may not be
associated with a vacancy application. A series of notes may be attached
to a pending vacancy, recording events during its lifecycle.
-
VacancyNote
A note associated with a pending vacancy. Vacancy notes are timestamped
and contain a textual description of some event during the lifecycle of
its associated vacancy - e.g. "Called agent to check on progress of
application - still awaiting response from client."
-
RejectedVacancy
A vacancy in the
rejected
state. Rejected vacancies are new or
pending vacancies which have ultimately been determined to be of no
further interest. Rejected vacancies do not appear in the user interface
but are retained by the system for a short time to help prevent the
uploading of future, duplicate vacancies.
-
CV
A
Curriculum Vitae
(Resume) held by the system. The set of
available CVs is presented to the user upon making an application for
a vacancy. A CV object contains a binary image of the original CV file
uploaded from filestore and a reference to an entity reflecting the
type of the contents of the binary image (e.g. "Word document"). Any
given CV may be registered with any number of agencies - note that, in
the
CV
domain class, the relationship from a CV to a
CV registration is actually represented by a map of
CVRegistration
keyed by the agency with which the CV is
registered rather than a simple list or set.
-
CVContentType
The type of the content of a CV binary held by a CV object. CV content
types are
static data
, having a fixed set of values (currently
"PDF" and "Word"). These are created in the database when the application
starts up for the first time.
-
CVRegistration
The registration of a given CV with a given agency. A CV registration
can be used as the basis of any number of vacancy applications - i.e.
upon registering a CV with an agency, it is possible to use that CV to
apply for any number of vacancies advertised by that agency.
-
VacancyApplication
An application for a (pending) vacancy using a given CV registered with
a given agency (i.e. a CV registration entity).