Commit 342fcc5
Changed files (1)
src
src/Q8/Candidate.java
@@ -1,3 +1,11 @@
+/**
+ * Assignment 1, COMP268 Class: Candidate.java
+ *
+ * @description Represents a candidate
+ * @author: mo khan Student ID: 3431709
+ * @date May 8, 2019
+ * @version 1.0
+ */
package Q8;
import Q1.*;
@@ -9,6 +17,16 @@ public class Candidate extends AddressBook {
private boolean isInnovative;
private double regulatoryCapability;
+ /**
+ * Constructs a Candidate object.
+ *
+ * @param firstName the first name of the runner
+ * @param lastName the last name of the runner
+ * @param grade the grade for the candidate
+ * @param communication the level of communication
+ * @param isInnovative specifies if the candidate is innovative.
+ * @param regulatoryCapability specifies the candidates level of regulatory capability
+ */
public Candidate(
String firstName,
String lastName,
@@ -23,38 +41,63 @@ public class Candidate extends AddressBook {
this.regulatoryCapability = regulatoryCapability;
}
+ /** @return the candidates innovativeness. */
public boolean isInnovative() {
return this.isInnovative;
}
+ /** @return the candidates grade. */
public double getGrade() {
return this.grade;
}
+ /** @return the candidates regulatory capability */
public double getRegulation() {
return this.regulatoryCapability;
}
+ /** @return the candidates communication ability */
public String getCommunication() {
return this.communication.toString();
}
+ /**
+ * Sets the candidate communication level.
+ *
+ * @param communication the candidates communication ability
+ */
public void setCommunication(String communication) {
this.communication = Communication.findBy(communication);
}
+ /**
+ * Sets the candidate grade level.
+ *
+ * @param grade the candidates grade
+ */
public void setGrade(double grade) {
this.grade = grade;
}
+ /**
+ * Sets the candidate innovation level.
+ *
+ * @param innovation the candidates innovation ability
+ */
public void setInnovation(boolean innovation) {
this.isInnovative = innovation;
}
+ /**
+ * Sets the candidate regulatory capability level.
+ *
+ * @param regulatoryCapability the candidates regulatory capability
+ */
public void setRegulation(double regulatoryCapability) {
this.regulatoryCapability = regulatoryCapability;
}
+ /** @return true if the candidate is eligible for a position at the company. */
public boolean isEligible() {
if (this.grade >= 85.0) {
return this.communication.isAtLeast(Communication.Average) || this.isInnovative();
@@ -64,12 +107,14 @@ public class Candidate extends AddressBook {
}
}
+ /**
+ * @param candidates the list of candidates to check for qualifications
+ * @return a list of candidates that are eligible for employment at the company.
+ */
public static ArrayList<Candidate> getEligibleCandidates(Candidate[] candidates) {
ArrayList<Candidate> eligible = new ArrayList<Candidate>();
- for (Candidate candidate : candidates) {
- if (candidate.isEligible()) eligible.add(candidate);
- }
+ for (Candidate candidate : candidates) if (candidate.isEligible()) eligible.add(candidate);
return eligible;
}