Class Student

java.lang.Object
src.model.User
src.model.user.Student

public class Student extends User
Student class
  • Field Details

    • MAX_APPLICATIONS

      public static final int MAX_APPLICATIONS
      The maximum number of internship opportunities a Student can apply for at once.
      See Also:
    • yearOfStudy

      private int yearOfStudy
    • major

      private String major
    • internship

      private InternshipOpportunity internship
    • internshipApplications

      private ArrayList<InternshipApplication> internshipApplications
    • internshipLevelFilter

      private ArrayList<InternshipLevel> internshipLevelFilter
    • companyNameFilter

      private ArrayList<String> companyNameFilter
    • applicationOpeningDateFilter

      private LocalDate applicationOpeningDateFilter
    • applicationClosingDateFilter

      private LocalDate applicationClosingDateFilter
  • Constructor Details

    • Student

      public Student(String userID, String name, String passwordHash, int yearOfStudy, String major, InternshipOpportunity internship)
      Constructs a Student constructor with required attributes
      Parameters:
      userID - the matriculation number of the Student
      name - the name of the Student
      passwordHash - the passwordHash of the Student
      yearOfStudy - the yearOfStudy of the Student
      major - the major of the Student
      internship - the internship of the Student
  • Method Details

    • getYearOfStudy

      public int getYearOfStudy()
      Getter for yearOfStudy
      Returns:
      yearOfStudy
    • setYearOfStudy

      public void setYearOfStudy(int yearOfStudy)
      Setter for yearOfStudy
      Parameters:
      yearOfStudy - the yearOfStudy to set
    • getMajor

      public String getMajor()
      Getter for major
      Returns:
      major
    • setMajor

      public void setMajor(String major)
      Setter for major
      Parameters:
      major - the major to set
    • getInternship

      public InternshipOpportunity getInternship()
      Getter for internship
      Returns:
      internship
    • setInternship

      public void setInternship(InternshipOpportunity internship)
      Setter for internship
      Parameters:
      internship - the internship to set
    • getInternshipApplications

      public ArrayList<InternshipApplication> getInternshipApplications()
      Getter for internshipApplications
      Returns:
      internshipApplications
    • addInternshipApplication

      public int addInternshipApplication(InternshipApplication internshipApplication)
      Adds internshipApplication to Student's internshipApplications
      Parameters:
      internshipApplication - the internshipApplication to delete
      Returns:
      0 if success, 1 if error
    • deleteInternshipApplication

      public int deleteInternshipApplication(InternshipApplication internshipApplication)
      Deletes internshipApplication from Student's internshipApplications
      Parameters:
      internshipApplication - the internshipApplication to delete
      Returns:
      0 if success, 1 if error
    • getInternshipLevelFilter

      public ArrayList<InternshipLevel> getInternshipLevelFilter()
      Getter for internshipLevelFilter
      Returns:
      internshipLevelFilter
    • addInternshipLevelFilter

      public void addInternshipLevelFilter(InternshipLevel internshipLevel)
      Adds internshipLevel to Student's internshipLevelFilter
      Parameters:
      internshipLevel - the internshipLevel to add
    • removeInternshipLevelFilter

      public void removeInternshipLevelFilter(InternshipLevel internshipLevel)
      Removes internshipLevel from Student's internshipLevelFilter
      Parameters:
      internshipLevel - the internshipLevel to remove
    • removeInternshipLevelFilter

      public InternshipLevel removeInternshipLevelFilter(int i)
      Removes internshipLevel from Student's internshipLevelFilter.
      Parameters:
      i - the index of the internshipLevel to remove.
      Returns:
      The InternshipLevel that was from removed from the list, or null if the filter was cleared.
    • getCompanyNameFilter

      public ArrayList<String> getCompanyNameFilter()
      Getter for companyNameFilter
      Returns:
      companyNameFilter
    • addCompanyNameFilter

      public void addCompanyNameFilter(String companyName)
      Adds companyName to Student's companyNameFilter
      Parameters:
      companyName - the companyName to add
    • removeCompanyNameFilter

      public void removeCompanyNameFilter(String companyName)
      Removes companyName from Student's companyNameFilter
      Parameters:
      companyName - the companyName to remove
    • removeCompanyNameFilter

      public String removeCompanyNameFilter(int i)
      Removes companyName from Student's companyNameFilter
      Parameters:
      i - the index of the companyName to remove
      Returns:
      The companyName that was removed from the list, or null if the list was cleared.
    • getApplicationOpeningDateFilter

      public LocalDate getApplicationOpeningDateFilter()
      Getter for applicationOpeningDateFilter
      Returns:
      applicationOpeningDateFilter
    • setApplicationOpeningDateFilter

      public void setApplicationOpeningDateFilter(LocalDate applicationOpeningDateFilter)
      Setter for applicationOpeningDateFilter
      Parameters:
      applicationOpeningDateFilter - the applicationOpeningDateFitlter to set
    • getApplicationClosingDateFilter

      public LocalDate getApplicationClosingDateFilter()
      Getter for applicationClosingDateFilter
      Returns:
      applicationClosingDate
    • setApplicationClosingDateFilter

      public void setApplicationClosingDateFilter(LocalDate applicationClosingDateFilter)
      Getter for applicationClosingDateFilter
      Parameters:
      applicationClosingDateFilter - the applicationClosingDateFitlter to set