Class CandidateDto

java.lang.Object
me.josephsf.jobportaljosephsfeir.dto.CandidateDto

public class CandidateDto extends Object
Data Transfer Object for candidate profile information.

This class encapsulates all the information related to a job candidate's profile in the Job Portal system. It includes personal details, professional experience, education, skills, and other relevant information for job seekers. The class contains validation constraints to ensure that mandatory fields are provided and meet size requirements.

A candidate profile includes:

  • Personal information (name, contact details, location)
  • Professional background (current title, experience level, years of experience)
  • Skills list
  • Professional experience history
  • Educational background
  • Resume and portfolio links
  • Salary expectations and availability status
Since:
2025-05-14
  • Constructor Details

    • CandidateDto

      public CandidateDto()
      Default constructor for deserialization.
  • Method Details

    • getId

      public String getId()
      Gets the MongoDB document ID.
      Returns:
      The document ID
    • setId

      public void setId(String id)
      Sets the MongoDB document ID.
      Parameters:
      id - The document ID to set
    • getUserId

      public String getUserId()
      Gets the user ID associated with this candidate profile.
      Returns:
      The user ID
    • setUserId

      public void setUserId(String userId)
      Sets the user ID associated with this candidate profile.
      Parameters:
      userId - The user ID to set
    • getFirstName

      public String getFirstName()
      Gets the candidate's first name.
      Returns:
      The first name
    • setFirstName

      public void setFirstName(String firstName)
      Sets the candidate's first name.
      Parameters:
      firstName - The first name to set
    • getLastName

      public String getLastName()
      Gets the candidate's last name.
      Returns:
      The last name
    • setLastName

      public void setLastName(String lastName)
      Sets the candidate's last name.
      Parameters:
      lastName - The last name to set
    • getPhoneNumber

      public String getPhoneNumber()
      Gets the candidate's phone number.
      Returns:
      The phone number
    • setPhoneNumber

      public void setPhoneNumber(String phoneNumber)
      Sets the candidate's phone number.
      Parameters:
      phoneNumber - The phone number to set
    • getLocation

      public String getLocation()
      Gets the candidate's location.
      Returns:
      The location
    • setLocation

      public void setLocation(String location)
      Sets the candidate's location.
      Parameters:
      location - The location to set
    • getCurrentTitle

      public String getCurrentTitle()
      Gets the candidate's current job title.
      Returns:
      The current job title
    • setCurrentTitle

      public void setCurrentTitle(String currentTitle)
      Sets the candidate's current job title.
      Parameters:
      currentTitle - The current job title to set
    • getExperienceLevel

      public String getExperienceLevel()
      Gets the candidate's experience level category.
      Returns:
      The experience level
    • setExperienceLevel

      public void setExperienceLevel(String experienceLevel)
      Sets the candidate's experience level category.
      Parameters:
      experienceLevel - The experience level to set
    • getYearsOfExperience

      public Integer getYearsOfExperience()
      Gets the candidate's years of professional experience.
      Returns:
      The years of experience
    • setYearsOfExperience

      public void setYearsOfExperience(Integer yearsOfExperience)
      Sets the candidate's years of professional experience.
      Parameters:
      yearsOfExperience - The years of experience to set
    • getSkills

      public List<String> getSkills()
      Gets the list of candidate's skills.
      Returns:
      The list of skills
    • setSkills

      public void setSkills(List<String> skills)
      Sets the list of candidate's skills.
      Parameters:
      skills - The list of skills to set
    • getExperience

      public List<Experience> getExperience()
      Gets the list of candidate's work experiences.
      Returns:
      The list of work experiences
    • setExperience

      public void setExperience(List<Experience> experience)
      Sets the list of candidate's work experiences.
      Parameters:
      experience - The list of work experiences to set
    • getEducation

      public List<Education> getEducation()
      Gets the list of candidate's educational qualifications.
      Returns:
      The list of educational qualifications
    • setEducation

      public void setEducation(List<Education> education)
      Sets the list of candidate's educational qualifications.
      Parameters:
      education - The list of educational qualifications to set
    • getResumeUrl

      public String getResumeUrl()
      Gets the URL to the candidate's resume.
      Returns:
      The resume URL
    • setResumeUrl

      public void setResumeUrl(String resumeUrl)
      Sets the URL to the candidate's resume.
      Parameters:
      resumeUrl - The resume URL to set
    • getProfileSummary

      public String getProfileSummary()
      Gets the candidate's profile summary/bio.
      Returns:
      The profile summary
    • setProfileSummary

      public void setProfileSummary(String profileSummary)
      Sets the candidate's profile summary/bio.
      Parameters:
      profileSummary - The profile summary to set
    • getLinkedInUrl

      public String getLinkedInUrl()
      Gets the URL to the candidate's LinkedIn profile.
      Returns:
      The LinkedIn URL
    • setLinkedInUrl

      public void setLinkedInUrl(String linkedInUrl)
      Sets the URL to the candidate's LinkedIn profile.
      Parameters:
      linkedInUrl - The LinkedIn URL to set
    • getPortfolioUrl

      public String getPortfolioUrl()
      Gets the URL to the candidate's portfolio website.
      Returns:
      The portfolio URL
    • setPortfolioUrl

      public void setPortfolioUrl(String portfolioUrl)
      Sets the URL to the candidate's portfolio website.
      Parameters:
      portfolioUrl - The portfolio URL to set
    • getExpectedSalary

      public Double getExpectedSalary()
      Gets the candidate's expected salary.
      Returns:
      The expected salary
    • setExpectedSalary

      public void setExpectedSalary(Double expectedSalary)
      Sets the candidate's expected salary.
      Parameters:
      expectedSalary - The expected salary to set
    • getIsAvailable

      public Boolean getIsAvailable()
      Gets the candidate's availability status.
      Returns:
      The availability status (true if available, false if not available)
    • setIsAvailable

      public void setIsAvailable(Boolean isAvailable)
      Sets the candidate's availability status.
      Parameters:
      isAvailable - The availability status to set
    • getCreatedAt

      public LocalDateTime getCreatedAt()
      Gets the creation timestamp.
      Returns:
      The creation timestamp
    • setCreatedAt

      public void setCreatedAt(LocalDateTime createdAt)
      Sets the creation timestamp.
      Parameters:
      createdAt - The creation timestamp to set
    • getUpdatedAt

      public LocalDateTime getUpdatedAt()
      Gets the last update timestamp.
      Returns:
      The last update timestamp
    • setUpdatedAt

      public void setUpdatedAt(LocalDateTime updatedAt)
      Sets the last update timestamp.
      Parameters:
      updatedAt - The last update timestamp to set