package org.msh.tb.entities; import org.msh.tb.entities.enums.LocalityType; import javax.persistence.*; @Embeddable public class Address { @Column(length=100) private String address; @Column(length=100) private String complement; @Column(length=20) private String zipCode; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="ADMINUNIT_ID") private AdministrativeUnit adminUnit; private LocalityType localityType; @Override public String toString() { String s = (address == null? "": address); if ((complement != null) && (!complement.isEmpty())) { if (!s.isEmpty()) s += '\n'; s += complement; } if ((zipCode != null) && (!zipCode.isEmpty())) { if (!s.isEmpty()) s += '\n'; s += zipCode; } if (adminUnit != null) { if (!s.isEmpty()) s += "\n"; s += adminUnit.getFullDisplayName(); } return s; } /** * Checks if the address is empty. * Name changed because of EL expression limitations (bug) * @return */ public boolean isEmptyy() { return (isStringEmpty(getAddress())) || (getAdminUnit() == null); } public void copy(Address addr) { address = addr.getAddress(); complement = addr.getComplement(); zipCode = addr.zipCode; localityType = addr.localityType; adminUnit = addr.getAdminUnit(); } private boolean isStringEmpty(String s) { return (s == null) || (s.isEmpty()); } public String getComplement() { return complement; } public void setComplement(String complement) { this.complement = complement; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getZipCode() { return zipCode; } public void setZipCode(String zipCode) { this.zipCode = zipCode; } public LocalityType getLocalityType() { return localityType; } public void setLocalityType(LocalityType localityType) { this.localityType = localityType; } /** * @param adminUnit the adminUnit to set */ public void setAdminUnit(AdministrativeUnit adminUnit) { this.adminUnit = adminUnit; } /** * @return the adminUnit */ public AdministrativeUnit getAdminUnit() { return adminUnit; } }