Class Candidate
java.lang.Object
me.josephsf.jobportaljosephsfeir.model.Candidate
Model class representing a job candidate's profile in the Job Portal system.
The Candidate entity contains detailed professional information about users with the CANDIDATE role. This includes personal details, professional background, education, skills, and preferences relevant to job seeking. Each Candidate is linked to a User entity through the userId field.
Candidate profiles are stored in the "candidates" collection in MongoDB. Each document maintains a one-to-one relationship with a document in the users collection.
Candidate documents include:
- Personal information (name, contact details, location)
- Professional background (current title, experience level, years of experience)
- Technical and soft skills
- Work experience history
- Educational background
- Job search preferences and availability
- Audit timestamps (createdAt, updatedAt)
This profile information is used for job matching, searching, and for displaying candidate details to recruiters.
- Since:
- 2025-05-15
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets the timestamp when the candidate profile was created.Gets the candidate's current job title.Gets the candidate's educational background.Gets the candidate's expected or desired salary.Gets the candidate's work experience history.Gets the candidate's experience level.Gets the candidate's first name.getId()Gets the candidate profile's unique identifier.Gets whether the candidate is currently available for work.Gets the candidate's last name.Gets the URL to the candidate's LinkedIn profile.Gets the candidate's location.Gets the candidate's phone number.Gets the URL to the candidate's portfolio or personal website.Gets the candidate's profile summary or bio.Gets the URL to the candidate's resume or CV.Gets the list of candidate's skills.Gets the timestamp when the candidate profile was last updated.Gets the ID of the user associated with this candidate profile.Gets the candidate's total years of professional experience.voidsetCreatedAt(LocalDateTime createdAt) Sets the creation timestamp for the candidate profile.voidsetCurrentTitle(String currentTitle) Sets the candidate's current job title.voidsetEducation(List<Education> education) Sets the candidate's educational background.voidsetExpectedSalary(Double expectedSalary) Sets the candidate's expected or desired salary.voidsetExperience(List<Experience> experience) Sets the candidate's work experience history.voidsetExperienceLevel(String experienceLevel) Sets the candidate's experience level.voidsetFirstName(String firstName) Sets the candidate's first name.voidSets the candidate profile's unique identifier.voidsetIsAvailable(Boolean isAvailable) Sets whether the candidate is currently available for work.voidsetLastName(String lastName) Sets the candidate's last name.voidsetLinkedInUrl(String linkedInUrl) Sets the URL to the candidate's LinkedIn profile.voidsetLocation(String location) Sets the candidate's location.voidsetPhoneNumber(String phoneNumber) Sets the candidate's phone number.voidsetPortfolioUrl(String portfolioUrl) Sets the URL to the candidate's portfolio or personal website.voidsetProfileSummary(String profileSummary) Sets the candidate's profile summary or bio.voidsetResumeUrl(String resumeUrl) Sets the URL to the candidate's resume or CV.voidSets the list of candidate's skills.voidsetUpdatedAt(LocalDateTime updatedAt) Sets the last update timestamp for the candidate profile.voidSets the ID of the user associated with this candidate profile.voidsetYearsOfExperience(Integer yearsOfExperience) Sets the candidate's total years of professional experience.
-
Constructor Details
-
Candidate
public Candidate()Default constructor. Initializes creation and update timestamps to current time, and sets the candidate as available by default.
-
-
Method Details
-
getId
Gets the candidate profile's unique identifier.- Returns:
- the candidate profile ID
-
setId
Sets the candidate profile's unique identifier.- Parameters:
id- the candidate profile ID to set
-
getUserId
Gets the ID of the user associated with this candidate profile.- Returns:
- the user ID
-
setUserId
Sets the ID of the user associated with this candidate profile.- Parameters:
userId- the user ID to set
-
getFirstName
Gets the candidate's first name.- Returns:
- the first name
-
setFirstName
Sets the candidate's first name.- Parameters:
firstName- the first name to set
-
getLastName
Gets the candidate's last name.- Returns:
- the last name
-
setLastName
Sets the candidate's last name.- Parameters:
lastName- the last name to set
-
getPhoneNumber
Gets the candidate's phone number.- Returns:
- the phone number
-
setPhoneNumber
Sets the candidate's phone number.- Parameters:
phoneNumber- the phone number to set
-
getLocation
Gets the candidate's location.- Returns:
- the location
-
setLocation
Sets the candidate's location.- Parameters:
location- the location to set
-
getCurrentTitle
Gets the candidate's current job title.- Returns:
- the current title
-
setCurrentTitle
Sets the candidate's current job title.- Parameters:
currentTitle- the current title to set
-
getExperienceLevel
Gets the candidate's experience level.- Returns:
- the experience level
-
setExperienceLevel
Sets the candidate's experience level.- Parameters:
experienceLevel- the experience level to set
-
getYearsOfExperience
Gets the candidate's total years of professional experience.- Returns:
- the years of experience
-
setYearsOfExperience
Sets the candidate's total years of professional experience.- Parameters:
yearsOfExperience- the years of experience to set
-
getSkills
Gets the list of candidate's skills.- Returns:
- the list of skills
-
setSkills
Sets the list of candidate's skills.- Parameters:
skills- the list of skills to set
-
getExperience
Gets the candidate's work experience history.- Returns:
- the list of work experiences
-
setExperience
Sets the candidate's work experience history.- Parameters:
experience- the list of work experiences to set
-
getEducation
Gets the candidate's educational background.- Returns:
- the list of education records
-
setEducation
Sets the candidate's educational background.- Parameters:
education- the list of education records to set
-
getResumeUrl
Gets the URL to the candidate's resume or CV.- Returns:
- the resume URL
-
setResumeUrl
Sets the URL to the candidate's resume or CV.- Parameters:
resumeUrl- the resume URL to set
-
getProfileSummary
Gets the candidate's profile summary or bio.- Returns:
- the profile summary
-
setProfileSummary
Sets the candidate's profile summary or bio.- Parameters:
profileSummary- the profile summary to set
-
getLinkedInUrl
Gets the URL to the candidate's LinkedIn profile.- Returns:
- the LinkedIn URL
-
setLinkedInUrl
Sets the URL to the candidate's LinkedIn profile.- Parameters:
linkedInUrl- the LinkedIn URL to set
-
getPortfolioUrl
Gets the URL to the candidate's portfolio or personal website.- Returns:
- the portfolio URL
-
setPortfolioUrl
Sets the URL to the candidate's portfolio or personal website.- Parameters:
portfolioUrl- the portfolio URL to set
-
getExpectedSalary
Gets the candidate's expected or desired salary.- Returns:
- the expected salary
-
setExpectedSalary
Sets the candidate's expected or desired salary.- Parameters:
expectedSalary- the expected salary to set
-
getIsAvailable
Gets whether the candidate is currently available for work.- Returns:
- true if the candidate is available, false otherwise
-
setIsAvailable
Sets whether the candidate is currently available for work.- Parameters:
isAvailable- true if the candidate is available, false otherwise
-
getCreatedAt
Gets the timestamp when the candidate profile was created.- Returns:
- the creation timestamp
-
setCreatedAt
Sets the creation timestamp for the candidate profile.- Parameters:
createdAt- the creation timestamp to set
-
getUpdatedAt
Gets the timestamp when the candidate profile was last updated.- Returns:
- the last update timestamp
-
setUpdatedAt
Sets the last update timestamp for the candidate profile.- Parameters:
updatedAt- the update timestamp to set
-