]> git.mxchange.org Git - jcontacts-business-core.git/commitdiff
Continued:
authorRoland Haeder <roland@mxchange.org>
Thu, 22 Oct 2015 08:57:39 +0000 (10:57 +0200)
committerRoland Haeder <roland@mxchange.org>
Thu, 22 Oct 2015 09:02:30 +0000 (11:02 +0200)
- added creation timestamp for records
- added owner instance (not everywhere)
- added juser-core.jar
- updated jar(s)
Signed-off-by:Roland Häder <roland@mxchange.org>

21 files changed:
lib/jcontacts-core.jar
lib/jcountry-core.jar
lib/jphone-core.jar
lib/juser-core.jar [new file with mode: 0644]
nbproject/project.properties
src/org/mxchange/jcontactsbusiness/BusinessContact.java
src/org/mxchange/jcontactsbusiness/CompanyContact.java
src/org/mxchange/jcontactsbusiness/basicdata/BusinessBasicData.java
src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java
src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java
src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java
src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java
src/org/mxchange/jcontactsbusiness/department/Department.java
src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java
src/org/mxchange/jcontactsbusiness/employee/Employee.java
src/org/mxchange/jcontactsbusiness/headquarters/CompanyHeadQuartersData.java
src/org/mxchange/jcontactsbusiness/headquarters/HeadQuartersData.java
src/org/mxchange/jcontactsbusiness/jobposition/EmployeePosition.java
src/org/mxchange/jcontactsbusiness/jobposition/JobPosition.java
src/org/mxchange/jcontactsbusiness/logo/BusinessLogo.java
src/org/mxchange/jcontactsbusiness/logo/CompanyLogo.java

index 6b3619e1b879be6ab4b7b20ecf765dde842559b6..39ba8b2afd0485a67193d21df02299ba987fe176 100644 (file)
Binary files a/lib/jcontacts-core.jar and b/lib/jcontacts-core.jar differ
index 234d3fbe4b8bfd5ad614a4b2509deb29ba454fef..28024eeb45e65d2334a4e91585545cbe4004aa66 100644 (file)
Binary files a/lib/jcountry-core.jar and b/lib/jcountry-core.jar differ
index a5d222b5e458841311e097be654fba5408b3bc86..e5c2573169bfc234a14736809e9df575171e2584 100644 (file)
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 (file)
index 0000000..1bd555d
Binary files /dev/null and b/lib/juser-core.jar differ
index 4a7545dda2a050c57d8b5dc4e77c681640ff4507..a1e0a1fb037a95c8647ff1471e46e5c916a2f28d 100644 (file)
@@ -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
index ca70aa5130f3ab98ead9159623c7ed0d739e8b1d..6890a6cd081f38918cfcedbc0926f8caf4c945c4 100644 (file)
 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
+        * <p>
+        * @return User owner instance
+        */
+       User getContactUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param contactUserOwner User owner instance
+        */
+       void setContactUserOwner (final User contactUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getContactCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @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 ();
 }
index c36f20024b486cd4dbb8b3cd948e16bb7d4ae4ed..ba30b08caa308a445efa756b612bff7e0680ecfa 100644 (file)
  */
 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<BusinessConta
        @OneToOne (targetEntity = CompanyHeadQuartersData.class, cascade = CascadeType.ALL, optional = false)
        private HeadQuartersData headQuartersData;
 
-       @Override
-       public int compareTo (final BusinessContact businessContact) {
-               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 BusinessContact other = (BusinessContact) object;
+       /**
+        * User owner instance
+        */
+       @JoinColumn (name = "company_user_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false)
+       private User contactUserOwner;
 
-               return Objects.equals(this.getBasicBusinessData(), other.getBasicBusinessData());
-       }
+       /**
+        * Timestamp when this entry has been created
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "company_entry_created", nullable = false, updatable = false)
+       private Calendar contactCreated;
 
        @Override
        public BusinessBasicData getBasicBusinessData () {
@@ -168,6 +171,26 @@ public class CompanyContact implements BusinessContact, Comparable<BusinessConta
                this.companyFounder = companyFounder;
        }
 
+       @Override
+       public Calendar getContactCreated () {
+               return this.contactCreated;
+       }
+
+       @Override
+       public void setContactCreated (final Calendar contactCreated) {
+               this.contactCreated = contactCreated;
+       }
+
+       @Override
+       public User getContactUserOwner () {
+               return this.contactUserOwner;
+       }
+
+       @Override
+       public void setContactUserOwner (final User contactUserOwner) {
+               this.contactUserOwner = contactUserOwner;
+       }
+
        @Override
        public List<Employee> getEmployees () {
                return this.employees;
@@ -188,6 +211,24 @@ public class CompanyContact implements BusinessContact, Comparable<BusinessConta
                this.headQuartersData = headQuartersData;
        }
 
+       @Override
+       public int compareTo (final BusinessContact businessContact) {
+               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 BusinessContact other = (BusinessContact) object;
+
+               return Objects.equals(this.getBasicBusinessData(), other.getBasicBusinessData());
+       }
+
        @Override
        public int hashCode () {
                int hash = 3;
index 9286df0c6c807995cb7ac6af8dbac64872ade1c1..cbf27eab49d7e9946ef7a88b50010f386f953514 100644 (file)
 package org.mxchange.jcontactsbusiness.basicdata;
 
 import java.io.Serializable;
+import java.util.Calendar;
 import org.mxchange.jcontactsbusiness.logo.BusinessLogo;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jusercore.model.user.User;
 
 /**
  * A POJI for basic business data
@@ -168,6 +170,34 @@ public interface BusinessBasicData extends Serializable {
         */
        void setCompanyWebsiteUrl (final String companyWebsiteUrl);
 
+       /**
+        * Getter for user owner instance
+        * <p>
+        * @return User owner instance
+        */
+       User getBasicUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param basicUserOwner User owner instance
+        */
+       void setBasicUserOwner (final User basicUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getBasicCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param basicCreated Timestamp when this entry has been created
+        */
+       void setBasicCreated (final Calendar basicCreated);
+
        @Override
        boolean equals (final Object object);
 
index 9ca5b8879da5458ff1ce22f6978fb872032b5db1..9af2beae4839fd9930e072de3127808776b4e76d 100644 (file)
@@ -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<BusinessB
        @Column (name = "company_website_url")
        private String companyWebsiteUrl;
 
-       @Override
-       public int compareTo (final BusinessBasicData businessData) {
-               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 BusinessBasicData other = (BusinessBasicData) object;
-
-               if (!Objects.equals(this.getCompanyLegalStatus(), other.getCompanyLegalStatus())) {
-                       return false;
-               } else if (!Objects.equals(this.getCompanyName(), other.getCompanyName())) {
-                       return false;
-               } else if (!Objects.equals(this.getCompanyTaxNumber(), other.getCompanyTaxNumber())) {
-                       return false;
-               }
+       /**
+        * User owner instance
+        */
+       @JoinColumn (name = "company_user_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false)
+       private User basicUserOwner;
 
-               return true;
-       }
+       /**
+        * Timestamp when this entry has been created
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "company_entry_created", nullable = false, updatable = false)
+       private Calendar basicCreated;
 
        @Override
        public Long getCompanyBasicId () {
@@ -244,6 +238,52 @@ public class CompanyBasicData implements BusinessBasicData, Comparable<BusinessB
                this.companyWebsiteUrl = companyWebsiteUrl;
        }
 
+       @Override
+       public Calendar getBasicCreated () {
+               return this.basicCreated;
+       }
+
+       @Override
+       public void setBasicCreated (final Calendar basicCreated) {
+               this.basicCreated = basicCreated;
+       }
+
+       @Override
+       public User getBasicUserOwner () {
+               return this.basicUserOwner;
+       }
+
+       @Override
+       public void setBasicUserOwner (final User basicUserOwner) {
+               this.basicUserOwner = basicUserOwner;
+       }
+
+       @Override
+       public int compareTo (final BusinessBasicData businessData) {
+               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 BusinessBasicData other = (BusinessBasicData) object;
+
+               if (!Objects.equals(this.getCompanyLegalStatus(), other.getCompanyLegalStatus())) {
+                       return false;
+               } else if (!Objects.equals(this.getCompanyName(), other.getCompanyName())) {
+                       return false;
+               } else if (!Objects.equals(this.getCompanyTaxNumber(), other.getCompanyTaxNumber())) {
+                       return false;
+               }
+
+               return true;
+       }
+
        @Override
        public int hashCode () {
                int hash = 5;
index cf204e37aec5f20c4c200f941b5b6e6dac1a6d54..e758df0f2cb4584112ee4013ac5d2c0d6eae909c 100644 (file)
 package org.mxchange.jcontactsbusiness.branch;
 
 import java.io.Serializable;
+import java.util.Calendar;
 import org.mxchange.jcountry.data.Country;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jusercore.model.user.User;
 
 /**
  * A POJI for branch offices
@@ -196,6 +198,34 @@ public interface BranchOffice extends Serializable {
         */
        void setBranchCompanyContact (final Long branchCompanyContact);
 
+       /**
+        * Getter for user owner instance
+        * <p>
+        * @return User owner instance
+        */
+       User getBranchUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param branchUserOwner User owner instance
+        */
+       void setBranchUserOwner (final User branchUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getBranchCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param branchCreated Timestamp when this entry has been created
+        */
+       void setBranchCreated (final Calendar branchCreated);
+
        @Override
        boolean equals (final Object object);
 
index 31a5949d43e16daf426bf57fecf52f09a466d3a7..4ea73440fb76253f969ffa982ebbba509ad11eb4 100644 (file)
@@ -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<BranchOffic
        @Column (name = "branch_zip_code", length = 6, nullable = false)
        private Integer branchZipCode;
 
-       @Override
-       public int compareTo (final BranchOffice branchOffice) {
-               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 BranchOffice other = (BranchOffice) object;
+       /**
+        * User owner instance
+        */
+       @JoinColumn (name = "branch_user_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false)
+       private User branchUserOwner;
 
-               if (!Objects.equals(this.getBranchCity(), other.getBranchCity())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchCountry(), other.getBranchCountry())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchHouseNumber(), other.getBranchHouseNumber())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchStore(), other.getBranchStore())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchStreet(), other.getBranchStreet())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchSuiteNumber(), other.getBranchSuiteNumber())) {
-                       return false;
-               }
-               if (!Objects.equals(this.getBranchZipCode(), other.getBranchZipCode())) {
-                       return false;
-               }
-               return true;
-       }
+       /**
+        * Timestamp when this entry has been created
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "branch_entry_created", nullable = false, updatable = false)
+       private Calendar branchCreated;
 
        @Override
        public String getBranchCity () {
@@ -291,6 +272,60 @@ public class CompanyBranchOffice implements BranchOffice, Comparable<BranchOffic
                this.branchZipCode = branchZipCode;
        }
 
+       @Override
+       public Calendar getBranchCreated () {
+               return this.branchCreated;
+       }
+
+       @Override
+       public void setBranchCreated (final Calendar branchCreated) {
+               this.branchCreated = branchCreated;
+       }
+
+       @Override
+       public User getBranchUserOwner () {
+               return this.branchUserOwner;
+       }
+
+       @Override
+       public void setBranchUserOwner (final User branchUserOwner) {
+               this.branchUserOwner = branchUserOwner;
+       }
+
+       @Override
+       public int compareTo (final BranchOffice branchOffice) {
+               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 BranchOffice other = (BranchOffice) object;
+
+               if (!Objects.equals(this.getBranchCity(), other.getBranchCity())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchCountry(), other.getBranchCountry())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchHouseNumber(), other.getBranchHouseNumber())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchStore(), other.getBranchStore())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchStreet(), other.getBranchStreet())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchSuiteNumber(), other.getBranchSuiteNumber())) {
+                       return false;
+               } else if (!Objects.equals(this.getBranchZipCode(), other.getBranchZipCode())) {
+                       return false;
+               }
+
+               return true;
+       }
+
        @Override
        public int hashCode () {
                int hash = 7;
index 5eddcca9369a4df3a7ea5b662b8ca5958b5e853a..d854038cf562ce06dab5c24d1f00501b51250a48 100644 (file)
@@ -16,6 +16,7 @@
  */
 package org.mxchange.jcontactsbusiness.department;
 
+import java.util.Calendar;
 import java.util.Objects;
 import javax.persistence.Basic;
 import javax.persistence.CascadeType;
@@ -29,6 +30,8 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
 import org.mxchange.jcontactsbusiness.BusinessContact;
 import org.mxchange.jcontactsbusiness.CompanyContact;
 import org.mxchange.jcontactsbusiness.branch.BranchOffice;
@@ -37,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 company departments
@@ -95,29 +100,20 @@ public class CompanyDepartment implements Department, Comparable<Department> {
        @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<Department> {
                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;
index 4e40ed956d5258f81bca06d6be92b7c8a995a785..745f41243dd28e369f8e33632c2e34b4a0762039 100644 (file)
 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
+        * <p>
+        * @return User owner instance
+        */
+       User getDepartmentUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param departmentUserOwner User owner instance
+        */
+       void setDepartmentUserOwner (final User departmentUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getDepartmentCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param departmentCreated Timestamp when this entry has been created
+        */
+       void setDepartmentCreated (final Calendar departmentCreated);
+
        @Override
        boolean equals (final Object object);
 
index 05b946b9ea06e868cb9f3280016879de1fcf5aaa..d5db081cf65af1f9acc486c6c536a4955575b6dd 100644 (file)
@@ -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> {
         * 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<Employee> {
                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;
index f669ced4270ceb2babcc67efa08baab96d06e504..85f818ac159b79430c37aba6a9323182528ddf43 100644 (file)
@@ -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
+        * <p>
+        * @return User owner instance
+        */
+       User getEmployeeUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param employeeUserOwner User owner instance
+        */
+       void setEmployeeUserOwner (final User employeeUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getEmployeeCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param employeeCreated Timestamp when this entry has been created
+        */
+       void setEmployeeCreated (final Calendar employeeCreated);
+
        @Override
        boolean equals (final Object object);
 
index c7796ce9236b652790f2f63f8c76f57f00b729f5..c971e48ad673bde910ef81dadd1afab2da658143 100644 (file)
@@ -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<Hea
        @Column (name = "headquarters_zip_code", length = 6, nullable = false)
        private Integer headquartersZipCode;
 
-       @Override
-       public int compareTo (final HeadQuartersData headQuartersData) {
-               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 HeadQuartersData other = (HeadQuartersData) object;
-
-               if (!Objects.equals(this.getHeadquartersCity(), other.getHeadquartersCity())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersCountry(), other.getHeadquartersCountry())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersHouseNumber(), other.getHeadquartersHouseNumber())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersStore(), other.getHeadquartersStore())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersStreet(), other.getHeadquartersStreet())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersSuiteNumber(), other.getHeadquartersSuiteNumber())) {
-                       return false;
-               } else if (!Objects.equals(this.getHeadquartersZipCode(), other.getHeadquartersZipCode())) {
-                       return false;
-               }
+       /**
+        * User owner instance
+        */
+       @JoinColumn (name = "headquarters_user_id", nullable = false, updatable = false)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.MERGE, optional = false)
+       private User headquartersUserOwner;
 
-               return true;
-       }
+       /**
+        * Timestamp when this entry has been created
+        */
+       @Basic (optional = false)
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "headquarters_entry_created", nullable = false, updatable = false)
+       private Calendar headquartersCreated;
 
        @Override
        public String getHeadquartersCity () {
@@ -252,6 +238,60 @@ public class CompanyHeadQuartersData implements HeadQuartersData, Comparable<Hea
                this.headquartersZipCode = headquartersZipCode;
        }
 
+       @Override
+       public Calendar getHeadquartersCreated () {
+               return this.headquartersCreated;
+       }
+
+       @Override
+       public void setHeadquartersCreated (final Calendar headquartersCreated) {
+               this.headquartersCreated = headquartersCreated;
+       }
+
+       @Override
+       public User getHeadquartersUserOwner () {
+               return this.headquartersUserOwner;
+       }
+
+       @Override
+       public void setHeadquartersUserOwner (final User headquartersUserOwner) {
+               this.headquartersUserOwner = headquartersUserOwner;
+       }
+
+       @Override
+       public int compareTo (final HeadQuartersData headQuartersData) {
+               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 HeadQuartersData other = (HeadQuartersData) object;
+
+               if (!Objects.equals(this.getHeadquartersCity(), other.getHeadquartersCity())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersCountry(), other.getHeadquartersCountry())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersHouseNumber(), other.getHeadquartersHouseNumber())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersStore(), other.getHeadquartersStore())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersStreet(), other.getHeadquartersStreet())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersSuiteNumber(), other.getHeadquartersSuiteNumber())) {
+                       return false;
+               } else if (!Objects.equals(this.getHeadquartersZipCode(), other.getHeadquartersZipCode())) {
+                       return false;
+               }
+
+               return true;
+       }
+
        @Override
        public int hashCode () {
                int hash = 7;
index 2959240356e0bd644b21a93d4cb1bfaa7f721baa..73c1e7f1bdb4e9444b3b59dc58812c2bc31108a5 100644 (file)
 package org.mxchange.jcontactsbusiness.headquarters;
 
 import java.io.Serializable;
+import java.util.Calendar;
 import org.mxchange.jcountry.data.Country;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jusercore.model.user.User;
 
 /**
  * A POJI for headquarters data
@@ -168,6 +170,34 @@ public interface HeadQuartersData extends Serializable {
         */
        void setHeadquartersFaxNumber (final DialableFaxNumber headquartersFaxNumber);
 
+       /**
+        * Getter for user owner instance
+        * <p>
+        * @return User owner instance
+        */
+       User getHeadquartersUserOwner ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param headquartersUserOwner User owner instance
+        */
+       void setHeadquartersUserOwner (final User headquartersUserOwner);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getHeadquartersCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param headquartersCreated Timestamp when this entry has been created
+        */
+       void setHeadquartersCreated (final Calendar headquartersCreated);
+
        @Override
         boolean equals (final Object object);
 
index 834273ef0f091e156fe4578003d4c4861adf40bd..110d22f470543cac5336cd6ea0ec5327bc391dc8 100644 (file)
@@ -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<JobPosition> {
        @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<JobPosition> {
                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;
index 8949799fc110ff6ec2baa1a2461cd6cddba0712f..8bd0a02e9f5a2e70628f3e72917882d4b60c1318 100644 (file)
@@ -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
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getJobPositionCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param jobPositionCreated Timestamp when this entry has been created
+        */
+       void setJobPositionCreated (final Calendar jobPositionCreated);
+
        @Override
         boolean equals (final Object object);
 
index 50503250568f99b88e28e1755507cadfb6cc8362..d75da72b479222c69e60d09f53d3ac3558a06661 100644 (file)
@@ -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
+        * <p>
+        * @return User owner instance
+        */
+       User getLogoUploader ();
+
+       /**
+        * Setter for user owner instance
+        * <p>
+        * @param logoUploader User owner instance
+        */
+       void setLogoUploader (final User logoUploader);
+
+       /**
+        * Getter for timestamp when this entry has been created
+        * <p>
+        * @return Timestamp when this entry has been created
+        */
+       Calendar getLogoCreated ();
+
+       /**
+        * Setter for timestamp when this entry has been created
+        * <p>
+        * @param logoCreated Timestamp when this entry has been created
+        */
+       void setLogoCreated (final Calendar logoCreated);
+
        @Override
         boolean equals (final Object object);
 
index 9cb53fd67d55038eb681846a9721a71cb66833c0..be0101e4f1745b6ab4034678282e17caac8f5fab 100644 (file)
  */
 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<BusinessLogo> {
        @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<BusinessLogo> {
                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;