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