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

public class Job extends Object
Represents a job posting in the Job Portal application.

This class is mapped to the "jobs" collection in MongoDB using the Spring Data MongoDB Document annotation. It contains all information related to a job posting, including details about the position, company, requirements, responsibilities, and status.

Each job posting is created by a recruiter and can be applied to by candidates. Jobs can be active or inactive, and have various metadata such as posting date, application deadline, and timestamps for creation and updates.

Since:
2025-05-15
  • Constructor Details

    • Job

      public Job()
      Constructs a new Job instance with default values. Sets creation, update, and posted timestamps to the current time, and sets the job as active by default.
  • Method Details

    • getId

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

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

      public String getTitle()
      Gets the title of the job position.
      Returns:
      the job title
    • setTitle

      public void setTitle(String title)
      Sets the title of the job position.
      Parameters:
      title - the job title to set
    • getDescription

      public String getDescription()
      Gets the detailed description of the job.
      Returns:
      the job description
    • setDescription

      public void setDescription(String description)
      Sets the detailed description of the job.
      Parameters:
      description - the job description to set
    • getCompanyName

      public String getCompanyName()
      Gets the name of the company offering the job.
      Returns:
      the company name
    • setCompanyName

      public void setCompanyName(String companyName)
      Sets the name of the company offering the job.
      Parameters:
      companyName - the company name to set
    • getLocation

      public String getLocation()
      Gets the location where the job is based.
      Returns:
      the job location
    • setLocation

      public void setLocation(String location)
      Sets the location where the job is based.
      Parameters:
      location - the job location to set
    • getCategory

      public String getCategory()
      Gets the category of the job.
      Returns:
      the job category
    • setCategory

      public void setCategory(String category)
      Sets the category of the job.
      Parameters:
      category - the job category to set
    • getEmploymentType

      public String getEmploymentType()
      Gets the type of employment offered.
      Returns:
      the employment type
    • setEmploymentType

      public void setEmploymentType(String employmentType)
      Sets the type of employment offered.
      Parameters:
      employmentType - the employment type to set
    • getSalary

      public Double getSalary()
      Gets the annual salary offered for the position.
      Returns:
      the salary amount
    • setSalary

      public void setSalary(Double salary)
      Sets the annual salary offered for the position.
      Parameters:
      salary - the salary amount to set
    • getRecruiterId

      public String getRecruiterId()
      Gets the ID of the recruiter who posted the job.
      Returns:
      the recruiter ID
    • setRecruiterId

      public void setRecruiterId(String recruiterId)
      Sets the ID of the recruiter who posted the job.
      Parameters:
      recruiterId - the recruiter ID to set
    • getRequirements

      public List<String> getRequirements()
      Gets the list of requirements for the job.
      Returns:
      the job requirements
    • setRequirements

      public void setRequirements(List<String> requirements)
      Sets the list of requirements for the job.
      Parameters:
      requirements - the job requirements to set
    • getResponsibilities

      public List<String> getResponsibilities()
      Gets the list of responsibilities for the job.
      Returns:
      the job responsibilities
    • setResponsibilities

      public void setResponsibilities(List<String> responsibilities)
      Sets the list of responsibilities for the job.
      Parameters:
      responsibilities - the job responsibilities to set
    • getIsActive

      public Boolean getIsActive()
      Checks if the job posting is active.
      Returns:
      true if the job is active, false otherwise
    • setIsActive

      public void setIsActive(Boolean isActive)
      Sets whether the job posting is active.
      Parameters:
      isActive - the active status to set
    • getPostedDate

      public LocalDateTime getPostedDate()
      Gets the date and time when the job was posted.
      Returns:
      the posted date
    • setPostedDate

      public void setPostedDate(LocalDateTime postedDate)
      Sets the date and time when the job was posted.
      Parameters:
      postedDate - the posted date to set
    • getDeadline

      public LocalDateTime getDeadline()
      Gets the deadline for applying to the job.
      Returns:
      the application deadline
    • setDeadline

      public void setDeadline(LocalDateTime deadline)
      Sets the deadline for applying to the job.
      Parameters:
      deadline - the application deadline to set
    • getCreatedAt

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

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

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

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