*/
package org.mxchange.jjobs.model.jobskill;
+import java.text.MessageFormat;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Basic;
* When this entry has been created
*/
@Basic (optional = false)
- @Column (name = "skill_job_created", nullable = false, updatable = false)
+ @Column (name = "skill_job_entry_created", nullable = false, updatable = false)
@Temporal (TemporalType.TIMESTAMP)
- private Date jobPositionSkillCreated;
+ private Date jobPositionSkillEntryCreated;
/**
* Id number (primary key
/**
* Constructor with all required entity properties
* <p>
- * @param jobPosition An instance of a HireableJobPosition class
- * @param jobSkill An instance of a Skillable class
+ * @param jobPosition An instance of a HireableJobPosition class
+ * @param jobSkill An instance of a Skillable class
* @param skillImportance Importance level
*/
public JobPositionSkill (final HireableJobPosition jobPosition, final Skillable jobSkill, final Short skillImportance) {
// Invoke default constructor
this();
+ // Validate all parameter
+ if (null == jobPosition) {
+ // ThroW NPE
+ throw new NullPointerException("jobPosition is null"); //NOI18N
+ } else if (jobPosition.getJobPositionId() == null) {
+ // Throw it again
+ throw new NullPointerException("jobPosition.jobPositionId is null"); //NOI18N
+ } else if (jobPosition.getJobPositionId() < 1) {
+ // Throw IAE
+ throw new IllegalArgumentException(MessageFormat.format("jobPosition.jobPositionId={0} is invalid", jobPosition.getJobPositionId())); //NOI18N
+ } else if (null == jobSkill) {
+ // Throw NPE
+ throw new NullPointerException("jobSill is null"); //NOI18N
+ } else if (jobSkill.getSkillId() == null) {
+ // Throw it again
+ throw new NullPointerException("jobSill.skillId is null"); //NOI18N
+ } else if (jobSkill.getSkillId() < 1) {
+ // Throw IAE
+ throw new IllegalArgumentException(MessageFormat.format("jobSill.skillId={0} is invalid", jobSkill.getSkillId())); //NOI18N
+ } else if (null == skillImportance) {
+ // Throw NPE
+ throw new NullPointerException("skillImportance is null"); //NOI18N
+ }
+
// Set fields
this.jobPosition = jobPosition;
this.jobSkill = jobSkill;
@Override
@SuppressWarnings ("ReturnOfDateField")
- public Date getJobPositionSkillCreated () {
- return this.jobPositionSkillCreated;
+ public Date getJobPositionSkillEntryCreated () {
+ return this.jobPositionSkillEntryCreated;
}
@Override
@SuppressWarnings ("AssignmentToDateFieldFromParameter")
- public void setJobPositionSkillCreated (final Date jobPositionSkillCreated) {
- this.jobPositionSkillCreated = jobPositionSkillCreated;
+ public void setJobPositionSkillEntryCreated (final Date jobPositionSkillEntryCreated) {
+ this.jobPositionSkillEntryCreated = jobPositionSkillEntryCreated;
}
@Override
* <p>
* @return Job position skill created timestamp
*/
- Date getJobPositionSkillCreated ();
+ Date getJobPositionSkillEntryCreated ();
/**
* Setter for job position skill created timestamp
* <p>
- * @param jobPositionSkillCreated Job position skill created timestamp
+ * @param jobPositionSkillEntryCreated Job position skill created timestamp
*/
- void setJobPositionSkillCreated (final Date jobPositionSkillCreated);
+ void setJobPositionSkillEntryCreated (final Date jobPositionSkillEntryCreated);
/**
* Getter for job position skill updated timestamp
/**
* Setter for job position skill updated timestamp
* <p>
- * @param jobPositionSkillUpdated Job position skill updated timestamp
+ * @param jobPositionSkillEntryUpdated Job position skill updated timestamp
*/
- void setJobPositionSkillUpdated (final Date jobPositionSkillUpdated);
+ void setJobPositionSkillUpdated (final Date jobPositionSkillEntryUpdated);
/**
* Getter for job skill
*/
package org.mxchange.jjobs.model.skill;
-import org.mxchange.jjobs.model.skill.status.SkillStatus;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Basic;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
+import org.mxchange.jjobs.model.skill.status.SkillStatus;
/**
* A POJO entity for skills
/**
* Constructor with required fields
* <p>
- * @param skillName Name of skill
+ * @param skillName Name of skill
* @param skillStatus Status
*/
public JobSkill (final String skillName, final SkillStatus skillStatus) {
*/
package org.mxchange.jjobs.model.user.skills;
-import org.mxchange.jjobs.model.skill.Skillable;
import java.io.Serializable;
import java.util.Date;
+import org.mxchange.jjobs.model.skill.Skillable;
import org.mxchange.jusercore.model.user.User;
/**
* <p>
* @return Job position skill created timestamp
*/
- Date getUserSkillCreated ();
+ Date getUserSkillEntryCreated ();
/**
* Setter for user skill created timestamp
* <p>
- * @param userSkillCreated Job position skill created timestamp
+ * @param userSkillEntryCreated Job position skill created timestamp
*/
- void setUserSkillCreated (final Date userSkillCreated);
+ void setUserSkillEntryCreated (final Date userSkillEntryCreated);
/**
* Getter for user skill updated timestamp
* <p>
* @return Job position skill updated timestamp
*/
- Date getUserSkillUpdated ();
+ Date getUserSkillEntryUpdated ();
/**
* Setter for user skill updated timestamp
* <p>
- * @param userSkillUpdated Job position skill updated timestamp
+ * @param userSkillEntryUpdated Job position skill updated timestamp
*/
- void setUserSkillUpdated (final Date userSkillUpdated);
+ void setUserSkillEntryUpdated (final Date userSkillEntryUpdated);
/**
* Getter for job skill
*/
package org.mxchange.jjobs.model.user.skills;
-import org.mxchange.jjobs.model.skill.JobSkill;
-import org.mxchange.jjobs.model.skill.Skillable;
+import java.text.MessageFormat;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Basic;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import org.mxchange.jjobs.model.skill.JobSkill;
+import org.mxchange.jjobs.model.skill.Skillable;
import org.mxchange.jusercore.model.user.LoginUser;
import org.mxchange.jusercore.model.user.User;
/**
* Link to skills entity
*/
- @JoinColumn (name = "user_skill_id", referencedColumnName = "skill_id", nullable = false, updatable = false)
+ @JoinColumn (name = "user_skill_skill_id", referencedColumnName = "skill_id", nullable = false, updatable = false)
@OneToOne (cascade = CascadeType.REFRESH, optional = false, targetEntity = JobSkill.class)
private Skillable jobSkill;
* When this entry has been created
*/
@Basic (optional = false)
- @Column (name = "user_skill_created", nullable = false, updatable = false)
+ @Column (name = "user_skill_entry_created", nullable = false, updatable = false)
@Temporal (TemporalType.TIMESTAMP)
- private Date userSkillCreated;
+ private Date userSkillEntryCreated;
+
+ /**
+ * When this entry has been updated
+ */
+ @Column (name = "user_skill_entry_updated", insertable = false)
+ @Temporal (TemporalType.TIMESTAMP)
+ private Date userSkillEntryUpdated;
/**
* Id number (primary key)
*/
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
- @Column (name = "user_skill_entry_id", nullable = false, updatable = false)
+ @Column (name = "user_skill_id", nullable = false, updatable = false)
private Long userSkillId;
- /**
- * When this entry has been updated
- */
- @Column (name = "user_skill_updated", insertable = false)
- @Temporal (TemporalType.TIMESTAMP)
- private Date userSkillUpdated;
-
/**
* Default constructor, required for the EJB
*/
/**
* Constructor with all required entity properties
* <p>
- * @param jobSkill An instance of a Skillable class
+ * @param jobSkill An instance of a Skillable class
* @param skillUser An instance of a User class
*/
public UserSkill (final Skillable jobSkill, final User skillUser) {
if (null == jobSkill) {
// Throw NPE
throw new NullPointerException("jobSkill is null"); //NOI18N
+ } else if (jobSkill.getSkillId() == null) {
+ // Throw it again
+ throw new NullPointerException("jobSill.skillId is null"); //NOI18N
+ } else if (jobSkill.getSkillId() < 1) {
+ // Throw IAE
+ throw new IllegalArgumentException(MessageFormat.format("jobSill.skillId={0} is invalid", jobSkill.getSkillId())); //NOI18N
} else if (null == skillUser) {
// Throw NPE
throw new NullPointerException("skillUser is null"); //NOI18N
+ } else if (skillUser.getUserId() == null) {
+ // Throw it agin
+ throw new NullPointerException("skillUser.userId is null"); //NOI18N
+ } else if (skillUser.getUserId() < 1) {
+ // Throw IAE
+ throw new NullPointerException(MessageFormat.format("skillUser.userId={0} is invalid", skillUser.getUserId())); //NOI18N
}
// Set fields
return true;
}
- @Override
- public int hashCode () {
- int hash = 7;
-
- hash = 17 * hash + Objects.hashCode(this.getJobSkill());
- hash = 17 * hash + Objects.hashCode(this.getSkillUser());
- hash = 17 * hash + Objects.hashCode(this.getUserSkillId());
-
- return hash;
- }
-
@Override
public Skillable getJobSkill () {
return this.jobSkill;
@Override
@SuppressWarnings ("ReturnOfDateField")
- public Date getUserSkillCreated () {
- return this.userSkillCreated;
+ public Date getUserSkillEntryCreated () {
+ return this.userSkillEntryCreated;
+ }
+
+ @Override
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+ public void setUserSkillEntryCreated (final Date userSkillEntryCreated) {
+ this.userSkillEntryCreated = userSkillEntryCreated;
+ }
+
+ @Override
+ @SuppressWarnings ("ReturnOfDateField")
+ public Date getUserSkillEntryUpdated () {
+ return this.userSkillEntryUpdated;
}
@Override
@SuppressWarnings ("AssignmentToDateFieldFromParameter")
- public void setUserSkillCreated (final Date userSkillCreated) {
- this.userSkillCreated = userSkillCreated;
+ public void setUserSkillEntryUpdated (final Date userSkillEntryUpdated) {
+ this.userSkillEntryUpdated = userSkillEntryUpdated;
}
@Override
}
@Override
- @SuppressWarnings ("ReturnOfDateField")
- public Date getUserSkillUpdated () {
- return this.userSkillUpdated;
- }
+ public int hashCode () {
+ int hash = 7;
- @Override
- @SuppressWarnings ("AssignmentToDateFieldFromParameter")
- public void setUserSkillUpdated (final Date userSkillUpdated) {
- this.userSkillUpdated = userSkillUpdated;
+ hash = 17 * hash + Objects.hashCode(this.getJobSkill());
+ hash = 17 * hash + Objects.hashCode(this.getSkillUser());
+ hash = 17 * hash + Objects.hashCode(this.getUserSkillId());
+
+ return hash;
}
}