From: Roland Haeder Date: Thu, 22 Oct 2015 08:57:39 +0000 (+0200) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6fc4e67159802734bc6e256d641c49a4c0986266;p=jcontacts-business-core.git Continued: - added creation timestamp for records - added owner instance (not everywhere) - added juser-core.jar - updated jar(s) Signed-off-by:Roland Häder --- diff --git a/lib/jcontacts-core.jar b/lib/jcontacts-core.jar index 6b3619e..39ba8b2 100644 Binary files a/lib/jcontacts-core.jar and b/lib/jcontacts-core.jar differ diff --git a/lib/jcountry-core.jar b/lib/jcountry-core.jar index 234d3fb..28024ee 100644 Binary files a/lib/jcountry-core.jar and b/lib/jcountry-core.jar differ diff --git a/lib/jphone-core.jar b/lib/jphone-core.jar index a5d222b..e5c2573 100644 Binary files a/lib/jphone-core.jar and b/lib/jphone-core.jar differ diff --git a/lib/juser-core.jar b/lib/juser-core.jar new file mode 100644 index 0000000..1bd555d Binary files /dev/null and b/lib/juser-core.jar differ diff --git a/nbproject/project.properties b/nbproject/project.properties index 4a7545d..a1e0a1f 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -33,6 +33,7 @@ excludes= file.reference.jcontacts-core.jar=lib/jcontacts-core.jar file.reference.jcountry-core.jar=lib/jcountry-core.jar file.reference.jphone-core.jar=lib/jphone-core.jar +file.reference.juser-core.jar=lib/juser-core.jar includes=** jar.archive.disabled=${jnlp.enabled} jar.compress=false @@ -41,6 +42,7 @@ javac.classpath=\ ${file.reference.jcontacts-core.jar}:\ ${file.reference.jcountry-core.jar}:\ ${file.reference.jphone-core.jar}:\ + ${file.reference.juser-core.jar}:\ ${libs.jpa20-persistence.classpath} # Space-separated list of extra javac options javac.compilerargs=-Xlint:unchecked -Xlint:deprecation @@ -96,5 +98,6 @@ source.encoding=UTF-8 source.reference.jcontacts-core.jar=../jcontacts-core/src/ source.reference.jcountry-core.jar=../jcountry-code/src/ source.reference.jphone-core.jar=../jphone-core/src/ +source.reference.juser-core.jar=../juser-core/src/ src.dir=src test.src.dir=test diff --git a/src/org/mxchange/jcontactsbusiness/BusinessContact.java b/src/org/mxchange/jcontactsbusiness/BusinessContact.java index ca70aa5..6890a6c 100644 --- a/src/org/mxchange/jcontactsbusiness/BusinessContact.java +++ b/src/org/mxchange/jcontactsbusiness/BusinessContact.java @@ -17,11 +17,13 @@ package org.mxchange.jcontactsbusiness; import java.io.Serializable; +import java.util.Calendar; import java.util.List; import org.mxchange.jcontactsbusiness.basicdata.BusinessBasicData; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.employee.Employee; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; +import org.mxchange.jusercore.model.user.User; /** * A POJI for business contact classes @@ -128,9 +130,37 @@ public interface BusinessContact extends Serializable { */ void setHeadQuartersData (final HeadQuartersData headQuartersData); + /** + * Getter for user owner instance + *

+ * @return User owner instance + */ + User getContactUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param contactUserOwner User owner instance + */ + void setContactUserOwner (final User contactUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getContactCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param contactCreated Timestamp when this entry has been created + */ + void setContactCreated (final Calendar contactCreated); + @Override - boolean equals (final Object object); + boolean equals (final Object object); @Override - int hashCode (); + int hashCode (); } diff --git a/src/org/mxchange/jcontactsbusiness/CompanyContact.java b/src/org/mxchange/jcontactsbusiness/CompanyContact.java index c36f200..ba30b08 100644 --- a/src/org/mxchange/jcontactsbusiness/CompanyContact.java +++ b/src/org/mxchange/jcontactsbusiness/CompanyContact.java @@ -16,8 +16,10 @@ */ package org.mxchange.jcontactsbusiness; +import java.util.Calendar; import java.util.List; import java.util.Objects; +import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; @@ -28,6 +30,8 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import javax.persistence.Transient; import org.mxchange.jcontactsbusiness.basicdata.BusinessBasicData; import org.mxchange.jcontactsbusiness.basicdata.CompanyBasicData; @@ -36,6 +40,8 @@ import org.mxchange.jcontactsbusiness.employee.CompanyEmployee; import org.mxchange.jcontactsbusiness.employee.Employee; import org.mxchange.jcontactsbusiness.headquarters.CompanyHeadQuartersData; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for business contacts @@ -100,23 +106,20 @@ public class CompanyContact implements BusinessContact, Comparable getEmployees () { return this.employees; @@ -188,6 +211,24 @@ public class CompanyContact implements BusinessContact, Comparable + * @return User owner instance + */ + User getBasicUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param basicUserOwner User owner instance + */ + void setBasicUserOwner (final User basicUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getBasicCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param basicCreated Timestamp when this entry has been created + */ + void setBasicCreated (final Calendar basicCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java b/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java index 9ca5b88..9af2bea 100644 --- a/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java +++ b/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java @@ -16,6 +16,7 @@ */ package org.mxchange.jcontactsbusiness.basicdata; +import java.util.Calendar; import java.util.Objects; import javax.persistence.Basic; import javax.persistence.CascadeType; @@ -29,12 +30,16 @@ import javax.persistence.JoinColumn; import javax.persistence.Lob; import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import org.mxchange.jcontactsbusiness.logo.BusinessLogo; import org.mxchange.jcontactsbusiness.logo.CompanyLogo; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.fax.FaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.landline.LandLineNumber; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for basic company data @@ -118,31 +123,20 @@ public class CompanyBasicData implements BusinessBasicData, Comparable + * @return User owner instance + */ + User getBranchUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param branchUserOwner User owner instance + */ + void setBranchUserOwner (final User branchUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getBranchCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param branchCreated Timestamp when this entry has been created + */ + void setBranchCreated (final Calendar branchCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java b/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java index 31a5949..4ea7344 100644 --- a/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java +++ b/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java @@ -16,6 +16,7 @@ */ package org.mxchange.jcontactsbusiness.branch; +import java.util.Calendar; import java.util.Objects; import javax.persistence.Basic; import javax.persistence.CascadeType; @@ -28,6 +29,8 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import org.mxchange.jcontactsbusiness.CompanyContact; import org.mxchange.jcountry.data.Country; import org.mxchange.jcountry.data.CountryData; @@ -35,6 +38,8 @@ import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.fax.FaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.landline.LandLineNumber; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for company branch offices @@ -132,44 +137,20 @@ public class CompanyBranchOffice implements BranchOffice, Comparable { @Column (name = "department_name", length = 100, nullable = false) private String departmentName; - @Override - public int compareTo (final Department department) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public boolean equals (final Object object) { - if (object == null) { - return false; - } else if (getClass() != object.getClass()) { - return false; - } - - final Department other = (Department) object; - - if (!Objects.equals(this.getDepartmentCompany(), other.getDepartmentCompany())) { - return false; - } else if (!Objects.equals(this.getDepartmentName(), other.getDepartmentName())) { - return false; - } + /** + * User owner instance + */ + @JoinColumn (name = "department_user_id", nullable = false, updatable = false) + @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false) + private User departmentUserOwner; - return true; - } + /** + * Timestamp when this entry has been created + */ + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "department_entry_created", nullable = false, updatable = false) + private Calendar departmentCreated; @Override public HeadQuartersData getDepartentHeadquarters () { @@ -179,6 +175,50 @@ public class CompanyDepartment implements Department, Comparable { this.departmentName = departmentName; } + @Override + public Calendar getDepartmentCreated () { + return this.departmentCreated; + } + + @Override + public void setDepartmentCreated (final Calendar departmentCreated) { + this.departmentCreated = departmentCreated; + } + + @Override + public User getDepartmentUserOwner () { + return this.departmentUserOwner; + } + + @Override + public void setDepartmentUserOwner (final User departmentUserOwner) { + this.departmentUserOwner = departmentUserOwner; + } + + @Override + public int compareTo (final Department department) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean equals (final Object object) { + if (object == null) { + return false; + } else if (getClass() != object.getClass()) { + return false; + } + + final Department other = (Department) object; + + if (!Objects.equals(this.getDepartmentCompany(), other.getDepartmentCompany())) { + return false; + } else if (!Objects.equals(this.getDepartmentName(), other.getDepartmentName())) { + return false; + } + + return true; + } + @Override public int hashCode () { int hash = 5; diff --git a/src/org/mxchange/jcontactsbusiness/department/Department.java b/src/org/mxchange/jcontactsbusiness/department/Department.java index 4e40ed9..745f412 100644 --- a/src/org/mxchange/jcontactsbusiness/department/Department.java +++ b/src/org/mxchange/jcontactsbusiness/department/Department.java @@ -17,10 +17,12 @@ package org.mxchange.jcontactsbusiness.department; import java.io.Serializable; +import java.util.Calendar; import org.mxchange.jcontactsbusiness.BusinessContact; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.employee.Employee; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; +import org.mxchange.jusercore.model.user.User; /** * A POJI for company departments @@ -113,6 +115,34 @@ public interface Department extends Serializable { */ void setDepartmentName (final String departmentName); + /** + * Getter for user owner instance + *

+ * @return User owner instance + */ + User getDepartmentUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param departmentUserOwner User owner instance + */ + void setDepartmentUserOwner (final User departmentUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getDepartmentCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param departmentCreated Timestamp when this entry has been created + */ + void setDepartmentCreated (final Calendar departmentCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java b/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java index 05b946b..d5db081 100644 --- a/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java +++ b/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java @@ -16,7 +16,9 @@ */ package org.mxchange.jcontactsbusiness.employee; +import java.util.Calendar; import java.util.Objects; +import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; @@ -27,6 +29,8 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontacts.contact.UserContact; import org.mxchange.jcontactsbusiness.BusinessContact; @@ -41,6 +45,8 @@ import org.mxchange.jcontactsbusiness.jobposition.EmployeePosition; import org.mxchange.jcontactsbusiness.jobposition.JobPosition; import org.mxchange.jphone.phonenumbers.cellphone.CellphoneNumber; import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for company employees (including CEO) @@ -128,34 +134,23 @@ public class CompanyEmployee implements Employee, Comparable { * Employee's position (example: CEO) */ @JoinColumn (name = "employee_position_id") - @OneToOne (targetEntity = EmployeePosition.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @OneToOne (targetEntity = EmployeePosition.class, cascade = CascadeType.MERGE, fetch = FetchType.EAGER) private JobPosition employeePosition; - @Override - public int compareTo (final Employee employee) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public boolean equals (final Object object) { - if (object == null) { - return false; - } else if (getClass() != object.getClass()) { - return false; - } - - final Employee other = (Employee) object; - - if (!Objects.equals(this.getEmployeeCompany(), other.getEmployeeCompany())) { - return false; - } else if (!Objects.equals(this.getEmployeeNumber(), other.getEmployeeNumber())) { - return false; - } else if (!Objects.equals(this.getEmployeePersonalData(), other.getEmployeePersonalData())) { - return false; - } + /** + * User owner instance + */ + @JoinColumn (name = "employee_user_id", nullable = false, updatable = false) + @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false) + private User employeeUserOwner; - return true; - } + /** + * Timestamp when this entry has been created + */ + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "employee_entry_created", nullable = false, updatable = false) + private Calendar employeeCreated; @Override public BranchOffice getEmployeeBranchOffice () { @@ -267,6 +262,52 @@ public class CompanyEmployee implements Employee, Comparable { this.employeePosition = employeePosition; } + @Override + public Calendar getEmployeeCreated () { + return this.employeeCreated; + } + + @Override + public void setEmployeeCreated (final Calendar employeeCreated) { + this.employeeCreated = employeeCreated; + } + + @Override + public User getEmployeeUserOwner () { + return this.employeeUserOwner; + } + + @Override + public void setEmployeeUserOwner (final User employeeUserOwner) { + this.employeeUserOwner = employeeUserOwner; + } + + @Override + public int compareTo (final Employee employee) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean equals (final Object object) { + if (object == null) { + return false; + } else if (getClass() != object.getClass()) { + return false; + } + + final Employee other = (Employee) object; + + if (!Objects.equals(this.getEmployeeCompany(), other.getEmployeeCompany())) { + return false; + } else if (!Objects.equals(this.getEmployeeNumber(), other.getEmployeeNumber())) { + return false; + } else if (!Objects.equals(this.getEmployeePersonalData(), other.getEmployeePersonalData())) { + return false; + } + + return true; + } + @Override public int hashCode () { int hash = 3; diff --git a/src/org/mxchange/jcontactsbusiness/employee/Employee.java b/src/org/mxchange/jcontactsbusiness/employee/Employee.java index f669ced..85f818a 100644 --- a/src/org/mxchange/jcontactsbusiness/employee/Employee.java +++ b/src/org/mxchange/jcontactsbusiness/employee/Employee.java @@ -17,6 +17,7 @@ package org.mxchange.jcontactsbusiness.employee; import java.io.Serializable; +import java.util.Calendar; import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontactsbusiness.BusinessContact; import org.mxchange.jcontactsbusiness.branch.BranchOffice; @@ -24,6 +25,7 @@ import org.mxchange.jcontactsbusiness.department.Department; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; import org.mxchange.jcontactsbusiness.jobposition.JobPosition; import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; +import org.mxchange.jusercore.model.user.User; /** * A POJI for employees @@ -186,6 +188,34 @@ public interface Employee extends Serializable { */ void setEmployeePosition (final JobPosition employeePosition); + /** + * Getter for user owner instance + *

+ * @return User owner instance + */ + User getEmployeeUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param employeeUserOwner User owner instance + */ + void setEmployeeUserOwner (final User employeeUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getEmployeeCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param employeeCreated Timestamp when this entry has been created + */ + void setEmployeeCreated (final Calendar employeeCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/headquarters/CompanyHeadQuartersData.java b/src/org/mxchange/jcontactsbusiness/headquarters/CompanyHeadQuartersData.java index c7796ce..c971e48 100644 --- a/src/org/mxchange/jcontactsbusiness/headquarters/CompanyHeadQuartersData.java +++ b/src/org/mxchange/jcontactsbusiness/headquarters/CompanyHeadQuartersData.java @@ -16,6 +16,7 @@ */ package org.mxchange.jcontactsbusiness.headquarters; +import java.util.Calendar; import java.util.Objects; import javax.persistence.Basic; import javax.persistence.CascadeType; @@ -28,12 +29,16 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import org.mxchange.jcountry.data.Country; import org.mxchange.jcountry.data.CountryData; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.fax.FaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.landline.LandLineNumber; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for company headquarts data @@ -118,39 +123,20 @@ public class CompanyHeadQuartersData implements HeadQuartersData, Comparable + * @return User owner instance + */ + User getHeadquartersUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param headquartersUserOwner User owner instance + */ + void setHeadquartersUserOwner (final User headquartersUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getHeadquartersCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param headquartersCreated Timestamp when this entry has been created + */ + void setHeadquartersCreated (final Calendar headquartersCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/jobposition/EmployeePosition.java b/src/org/mxchange/jcontactsbusiness/jobposition/EmployeePosition.java index 834273e..110d22f 100644 --- a/src/org/mxchange/jcontactsbusiness/jobposition/EmployeePosition.java +++ b/src/org/mxchange/jcontactsbusiness/jobposition/EmployeePosition.java @@ -16,6 +16,7 @@ */ package org.mxchange.jcontactsbusiness.jobposition; +import java.util.Calendar; import java.util.Objects; import javax.persistence.Basic; import javax.persistence.Column; @@ -24,6 +25,8 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; /** * A POJO for job positions @@ -54,26 +57,13 @@ public class EmployeePosition implements JobPosition, Comparable { @Column (name = "job_position_name", length = 10, nullable = false, unique = true) private String jobPositionName; - @Override - public int compareTo (final JobPosition jobPosition) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public boolean equals (final Object object) { - if (object == null) { - return false; - } else if (getClass() != object.getClass()) { - return false; - } - - final JobPosition other = (JobPosition) object; - - if (!Objects.equals(this.getJobPositionName(), other.getJobPositionName())) { - return false; - } - return true; - } + /** + * Timestamp when this entry has been created + */ + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "job_position_created", nullable = false, updatable = false) + private Calendar jobPositionCreated; @Override public Long getJobPositionId () { @@ -95,6 +85,34 @@ public class EmployeePosition implements JobPosition, Comparable { this.jobPositionName = jobPositionName; } + @Override + public Calendar getJobPositionCreated () { + return this.jobPositionCreated; + } + + @Override + public void setJobPositionCreated (final Calendar jobPositionCreated) { + this.jobPositionCreated = jobPositionCreated; + } + + @Override + public int compareTo (final JobPosition jobPosition) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean equals (final Object object) { + if (object == null) { + return false; + } else if (getClass() != object.getClass()) { + return false; + } + + final JobPosition other = (JobPosition) object; + + return Objects.equals(this.getJobPositionName(), other.getJobPositionName()); + } + @Override public int hashCode () { int hash = 7; diff --git a/src/org/mxchange/jcontactsbusiness/jobposition/JobPosition.java b/src/org/mxchange/jcontactsbusiness/jobposition/JobPosition.java index 8949799..8bd0a02 100644 --- a/src/org/mxchange/jcontactsbusiness/jobposition/JobPosition.java +++ b/src/org/mxchange/jcontactsbusiness/jobposition/JobPosition.java @@ -17,6 +17,7 @@ package org.mxchange.jcontactsbusiness.jobposition; import java.io.Serializable; +import java.util.Calendar; /** * A POJI for job positions @@ -53,6 +54,20 @@ public interface JobPosition extends Serializable { */ void setJobPositionName (final String jobPositionName); + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getJobPositionCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param jobPositionCreated Timestamp when this entry has been created + */ + void setJobPositionCreated (final Calendar jobPositionCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/logo/BusinessLogo.java b/src/org/mxchange/jcontactsbusiness/logo/BusinessLogo.java index 5050325..d75da72 100644 --- a/src/org/mxchange/jcontactsbusiness/logo/BusinessLogo.java +++ b/src/org/mxchange/jcontactsbusiness/logo/BusinessLogo.java @@ -17,6 +17,8 @@ package org.mxchange.jcontactsbusiness.logo; import java.io.Serializable; +import java.util.Calendar; +import org.mxchange.jusercore.model.user.User; /** * A POJI for business logos @@ -53,6 +55,34 @@ public interface BusinessLogo extends Serializable { */ void setLogoId (final Long logoId); + /** + * Getter for user owner instance + *

+ * @return User owner instance + */ + User getLogoUploader (); + + /** + * Setter for user owner instance + *

+ * @param logoUploader User owner instance + */ + void setLogoUploader (final User logoUploader); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getLogoCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param logoCreated Timestamp when this entry has been created + */ + void setLogoCreated (final Calendar logoCreated); + @Override boolean equals (final Object object); diff --git a/src/org/mxchange/jcontactsbusiness/logo/CompanyLogo.java b/src/org/mxchange/jcontactsbusiness/logo/CompanyLogo.java index 9cb53fd..be0101e 100644 --- a/src/org/mxchange/jcontactsbusiness/logo/CompanyLogo.java +++ b/src/org/mxchange/jcontactsbusiness/logo/CompanyLogo.java @@ -16,14 +16,22 @@ */ package org.mxchange.jcontactsbusiness.logo; +import java.util.Calendar; import java.util.Objects; import javax.persistence.Basic; +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** * A POJO for company logos @@ -54,23 +62,20 @@ public class CompanyLogo implements BusinessLogo, Comparable { @Column (name = "logo_id", length = 20, nullable = false, updatable = false) private Long logoId; - @Override - public int compareTo (final BusinessLogo businessLogo) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public boolean equals (final Object object) { - if (object == null) { - return false; - } else if (getClass() != object.getClass()) { - return false; - } - - final BusinessLogo other = (BusinessLogo) object; + /** + * Logo uploader user instance + */ + @JoinColumn (name = "logo_uploader_id", nullable = false, updatable = false) + @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false) + private User logoUploader; - return Objects.equals(this.getLogoFileName(), other.getLogoFileName()); - } + /** + * Timestamp when this entry has been created + */ + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "logo_entry_created", nullable = false, updatable = false) + private Calendar logoCreated; @Override public String getLogoFileName () { @@ -92,6 +97,44 @@ public class CompanyLogo implements BusinessLogo, Comparable { this.logoId = logoId; } + @Override + public Calendar getLogoCreated () { + return this.logoCreated; + } + + @Override + public void setLogoCreated (final Calendar logoCreated) { + this.logoCreated = logoCreated; + } + + @Override + public User getLogoUploader () { + return this.logoUploader; + } + + @Override + public void setLogoUploader (final User logoUploader) { + this.logoUploader = logoUploader; + } + + @Override + public int compareTo (final BusinessLogo businessLogo) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public boolean equals (final Object object) { + if (object == null) { + return false; + } else if (getClass() != object.getClass()) { + return false; + } + + final BusinessLogo other = (BusinessLogo) object; + + return Objects.equals(this.getLogoFileName(), other.getLogoFileName()); + } + @Override public int hashCode () { int hash = 3;