X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Forg%2Fmxchange%2Fjcontactsbusiness%2FCompanyContact.java;h=99012d4b45373e5b9f4e165e5c3380b53c1d34c1;hb=9b87a7c465cbe4f26f6806b463c747a72408e6d8;hp=faad9928413dba0e9a2a3c8de684810d6eb6d11e;hpb=bf6a696d5924ddd9c376f9024fe8884c47d6c5ab;p=jcontacts-business-core.git
diff --git a/src/org/mxchange/jcontactsbusiness/CompanyContact.java b/src/org/mxchange/jcontactsbusiness/CompanyContact.java
index faad992..99012d4 100644
--- a/src/org/mxchange/jcontactsbusiness/CompanyContact.java
+++ b/src/org/mxchange/jcontactsbusiness/CompanyContact.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016 Roland Haeder
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,7 +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;
@@ -24,31 +27,36 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
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;
import org.mxchange.jcontactsbusiness.branch.BranchOffice;
-import org.mxchange.jcontactsbusiness.branch.CompanyBranchOffice;
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
*
- * @author Roland Haeder
+ * @author Roland Haeder
*/
@Entity (name = "company_contacts")
@Table (name = "company_contacts")
-public class CompanyContact implements BusinessContact, Comparable {
+@SuppressWarnings ("PersistenceUnitPresent")
+public class CompanyContact implements BusinessContact {
/**
* Serial number
*/
- private static final long serialVersionUID = 478_378_178_748_691L;
+ @Transient
+ private static final long serialVersionUID = 470_375_172_748_691L;
/**
* Reference to basic data
@@ -58,17 +66,23 @@ public class CompanyContact implements BusinessContact, Comparable branches;
+ @Transient
+ private List brancheOffices;
+
+ /**
+ * Reference to contact person
+ */
+ @JoinColumn (name = "company_contact_id")
+ @OneToOne (targetEntity = CompanyEmployee.class, cascade = CascadeType.ALL)
+ private Employee companyContact;
/**
* Id number
*/
@Id
- @Column (name = "company_contact_id", length = 20, nullable = false, updatable = false)
+ @Column (name = "company_id", nullable = false, updatable = false)
@GeneratedValue (strategy = GenerationType.IDENTITY)
private Long companyContactId;
@@ -76,15 +90,23 @@ public class CompanyContact implements BusinessContact, Comparable employees;
+ @JoinColumn (name = "company_user_id", nullable = false, updatable = false)
+ @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false)
+ private User contactUserOwner;
/**
* Reference to headquarters data
@@ -94,8 +116,16 @@ public class CompanyContact implements BusinessContact, Comparable getBranches () {
- return this.branches;
+ @SuppressWarnings ("ReturnOfCollectionOrArrayField")
+ public List getBrancheOffices () {
+ return this.brancheOffices;
+ }
+
+ @Override
+ @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter")
+ public void setBrancheOffices (final List brancheOffices) {
+ this.brancheOffices = brancheOffices;
}
@Override
- public void setBranches (final List branches) {
- this.branches = branches;
+ public Employee getCompanyContact () {
+ return this.companyContact;
+ }
+
+ @Override
+ public void setCompanyContact (final Employee companyContact) {
+ this.companyContact = companyContact;
}
@Override
@@ -139,13 +181,25 @@ public class CompanyContact implements BusinessContact, Comparable getEmployees () {
- return this.employees;
+ @SuppressWarnings ("ReturnOfDateField")
+ public Calendar getContactCreated () {
+ return this.contactCreated;
+ }
+
+ @Override
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+ public void setContactCreated (final Calendar contactCreated) {
+ this.contactCreated = contactCreated;
}
@Override
- public void setEmployees (final List employees) {
- this.employees = employees;
+ public User getContactUserOwner () {
+ return this.contactUserOwner;
+ }
+
+ @Override
+ public void setContactUserOwner (final User contactUserOwner) {
+ this.contactUserOwner = contactUserOwner;
}
@Override
@@ -157,4 +211,11 @@ public class CompanyContact implements BusinessContact, Comparable