Class JobApplication

java.lang.Object
me.josephsf.jobportaljosephsfeir.model.JobApplication

public class JobApplication extends Object
Represents a job application submitted by a candidate for a specific job posting.

This class is mapped to the "job_applications" collection in MongoDB using the Spring Data MongoDB Document annotation. It maintains the relationship between a job posting and a candidate, along with application status, documents, and review information.

Job applications progress through various statuses (applied, reviewing, shortlisted, rejected, accepted) as they move through the recruitment process. Recruiters can add review notes and interview notes to track the candidate's progress.

Since:
2025-05-15
  • Constructor Details

    • JobApplication

      public JobApplication()
      Constructs a new JobApplication instance with default values. Sets creation, update, and application timestamps to the current time, and sets the status to "APPLIED" by default.
  • Method Details

    • getId

      public String getId()
      Gets the unique identifier of the job application.
      Returns:
      the application ID
    • setId

      public void setId(String id)
      Sets the unique identifier of the job application.
      Parameters:
      id - the application ID to set
    • getJobId

      public String getJobId()
      Gets the ID of the job being applied for.
      Returns:
      the job ID
    • setJobId

      public void setJobId(String jobId)
      Sets the ID of the job being applied for.
      Parameters:
      jobId - the job ID to set
    • getCandidateId

      public String getCandidateId()
      Gets the ID of the candidate applying for the job.
      Returns:
      the candidate ID
    • setCandidateId

      public void setCandidateId(String candidateId)
      Sets the ID of the candidate applying for the job.
      Parameters:
      candidateId - the candidate ID to set
    • getStatus

      public String getStatus()
      Gets the current status of the application.
      Returns:
      the application status
    • setStatus

      public void setStatus(String status)
      Sets the current status of the application.
      Parameters:
      status - the application status to set
    • getCoverLetter

      public String getCoverLetter()
      Gets the cover letter submitted with the application.
      Returns:
      the cover letter text
    • setCoverLetter

      public void setCoverLetter(String coverLetter)
      Sets the cover letter submitted with the application.
      Parameters:
      coverLetter - the cover letter text 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
    • getApplicationDate

      public LocalDateTime getApplicationDate()
      Gets the date and time when the application was submitted.
      Returns:
      the application date
    • setApplicationDate

      public void setApplicationDate(LocalDateTime applicationDate)
      Sets the date and time when the application was submitted.
      Parameters:
      applicationDate - the application date to set
    • getReviewDate

      public LocalDateTime getReviewDate()
      Gets the date and time when the application was last reviewed.
      Returns:
      the review date
    • setReviewDate

      public void setReviewDate(LocalDateTime reviewDate)
      Sets the date and time when the application was last reviewed.
      Parameters:
      reviewDate - the review date to set
    • getReviewNotes

      public String getReviewNotes()
      Gets the recruiter's notes on the application review.
      Returns:
      the review notes
    • setReviewNotes

      public void setReviewNotes(String reviewNotes)
      Sets the recruiter's notes on the application review.
      Parameters:
      reviewNotes - the review notes to set
    • getInterviewNotes

      public String getInterviewNotes()
      Gets the recruiter's notes on the candidate interview.
      Returns:
      the interview notes
    • setInterviewNotes

      public void setInterviewNotes(String interviewNotes)
      Sets the recruiter's notes on the candidate interview.
      Parameters:
      interviewNotes - the interview notes to set
    • getCreatedAt

      public LocalDateTime getCreatedAt()
      Gets the date and time when the application record was created.
      Returns:
      the creation timestamp
    • setCreatedAt

      public void setCreatedAt(LocalDateTime createdAt)
      Sets the date and time when the application record was created.
      Parameters:
      createdAt - the creation timestamp to set
    • getUpdatedAt

      public LocalDateTime getUpdatedAt()
      Gets the date and time when the application record was last updated.
      Returns:
      the update timestamp
    • setUpdatedAt

      public void setUpdatedAt(LocalDateTime updatedAt)
      Sets the date and time when the application record was last updated.
      Parameters:
      updatedAt - the update timestamp to set