]> git.mxchange.org Git - jjobs-core.git/blobdiff - src/org/mxchange/jjobs/model/user/skills/UserSkill.java
Continued:
[jjobs-core.git] / src / org / mxchange / jjobs / model / user / skills / UserSkill.java
index aa089b3bdfe5e8dfc0de0db4feeedc86d518b9c8..87d37ccb3eb3dd98e7a5c85921586a45912ca5dd 100644 (file)
@@ -31,10 +31,14 @@ import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+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 user skills
@@ -133,6 +137,34 @@ public class UserSkill implements SkillableUser {
                this.skillUser = skillUser;
        }
 
+       @Override
+       public int compareTo (final SkillableUser user) {
+               // Checkparameter and return 0 if equal
+               if (null == user) {
+                       // Should not happen
+                       throw new NullPointerException("Parameter 'user' is null"); //NOI18N
+               } else if (Objects.equals(this, user)) {
+                       // Same object
+                       return 0;
+               }
+
+               // Init comparitors
+               final int comparitors[] = {
+                       // First compare user
+                       UserUtils.compare(this.getSkillUser(), user.getSkillUser()),
+                       // Next skill
+                       SkillUtils.compare(this.getJobSkill(), user.getJobSkill()),
+                       // Primary key
+                       SafeNumberUtils.compare(this.getUserSkillId(), user.getUserSkillId())
+               };
+
+               // Check all values
+               final int comparison = ComparableUtils.checkAll(comparitors);
+
+               // Return value
+               return comparison;
+       }
+
        @Override
        public boolean equals (final Object object) {
                if (this == object) {