import javax.persistence.Transient;
import org.mxchange.jcontactsbusiness.model.jobposition.EmployeePosition;
import org.mxchange.jcontactsbusiness.model.jobposition.HireableJobPosition;
+import org.mxchange.jcontactsbusiness.model.utils.JobPositionUtils;
+import org.mxchange.jcoreutils.comparable.ComparableUtils;
+import org.mxchange.jcoreutils.number.SafeNumberUtils;
import org.mxchange.jjobs.model.skill.JobSkill;
import org.mxchange.jjobs.model.skill.Skillable;
+import org.mxchange.jjobs.model.utils.SkillUtils;
import org.mxchange.jusercore.model.user.LoginUser;
import org.mxchange.jusercore.model.user.User;
+import org.mxchange.jusercore.model.utils.UserUtils;
/**
* A POJO entity for job position skills (linking job position and skill
this.skillImportance = skillImportance;
}
+ @Override
+ public int compareTo (final SkillableJobPosition skillableJobPosition) {
+ // Checkparameter and return 0 if equal
+ if (null == skillableJobPosition) {
+ // Should not happen
+ throw new NullPointerException("Parameter 'skillableJobPosition' is null"); //NOI18N
+ } else if (Objects.equals(this, skillableJobPosition)) {
+ // Same object
+ return 0;
+ }
+
+ // Init comparitors
+ final int comparitors[] = {
+ // First compare job position
+ JobPositionUtils.compare(this.getJobPosition(), skillableJobPosition.getJobPosition()),
+ // ... next skill
+ SkillUtils.compare(this.getJobSkill(), skillableJobPosition.getJobSkill()),
+ // next job importance
+ SafeNumberUtils.compare(this.getSkillImportance(), skillableJobPosition.getSkillImportance()),
+ // ... next user
+ UserUtils.compare(this.getSkillAddedUser(), skillableJobPosition.getSkillAddedUser()),
+ // ... next primary key
+ SafeNumberUtils.compare(this.getJobPositionSkillId(), skillableJobPosition.getJobPositionSkillId())
+ };
+
+ // Check all values
+ final int comparison = ComparableUtils.checkAll(comparitors);
+
+ // Return value
+ return comparison;
+ }
+
@Override
public boolean equals (final Object object) {
if (this == object) {