org.hl7.fhir.OrganizationContact Maven / Gradle / Ivy
Show all versions of quick Show documentation
//
// This file was generated by the Eclipse Implementation of JAXB, v3.0.2
// See https://eclipse-ee4j.github.io/jaxb-ri
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2024.01.18 at 08:26:13 AM MST
//
package org.hl7.fhir;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlType;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.HashCode2;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
/**
* A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
*
* Java class for Organization.Contact complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Organization.Contact">
* <complexContent>
* <extension base="{http://hl7.org/fhir}BackboneElement">
* <sequence>
* <element name="purpose" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="name" type="{http://hl7.org/fhir}HumanName" minOccurs="0"/>
* <element name="telecom" type="{http://hl7.org/fhir}ContactPoint" maxOccurs="unbounded" minOccurs="0"/>
* <element name="address" type="{http://hl7.org/fhir}Address" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Organization.Contact", propOrder = {
"purpose",
"name",
"telecom",
"address"
})
public class OrganizationContact
extends BackboneElement
implements Equals2, HashCode2, ToString2
{
protected CodeableConcept purpose;
protected HumanName name;
protected List telecom;
protected Address address;
/**
* Gets the value of the purpose property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getPurpose() {
return purpose;
}
/**
* Sets the value of the purpose property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setPurpose(CodeableConcept value) {
this.purpose = value;
}
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link HumanName }
*
*/
public HumanName getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link HumanName }
*
*/
public void setName(HumanName value) {
this.name = value;
}
/**
* Gets the value of the telecom property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a set
method for the telecom property.
*
*
* For example, to add a new item, do as follows:
*
* getTelecom().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContactPoint }
*
*
*/
public List getTelecom() {
if (telecom == null) {
telecom = new ArrayList();
}
return this.telecom;
}
/**
* Gets the value of the address property.
*
* @return
* possible object is
* {@link Address }
*
*/
public Address getAddress() {
return address;
}
/**
* Sets the value of the address property.
*
* @param value
* allowed object is
* {@link Address }
*
*/
public void setAddress(Address value) {
this.address = value;
}
public OrganizationContact withPurpose(CodeableConcept value) {
setPurpose(value);
return this;
}
public OrganizationContact withName(HumanName value) {
setName(value);
return this;
}
public OrganizationContact withTelecom(ContactPoint... values) {
if (values!= null) {
for (ContactPoint value: values) {
getTelecom().add(value);
}
}
return this;
}
public OrganizationContact withTelecom(Collection values) {
if (values!= null) {
getTelecom().addAll(values);
}
return this;
}
public OrganizationContact withAddress(Address value) {
setAddress(value);
return this;
}
@Override
public OrganizationContact withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public OrganizationContact withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public OrganizationContact withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public OrganizationContact withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public OrganizationContact withId(java.lang.String value) {
setId(value);
return this;
}
@Override
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
if (!super.equals(thisLocator, thatLocator, object, strategy)) {
return false;
}
final OrganizationContact that = ((OrganizationContact) object);
{
CodeableConcept lhsPurpose;
lhsPurpose = this.getPurpose();
CodeableConcept rhsPurpose;
rhsPurpose = that.getPurpose();
if (!strategy.equals(LocatorUtils.property(thisLocator, "purpose", lhsPurpose), LocatorUtils.property(thatLocator, "purpose", rhsPurpose), lhsPurpose, rhsPurpose, (this.purpose!= null), (that.purpose!= null))) {
return false;
}
}
{
HumanName lhsName;
lhsName = this.getName();
HumanName rhsName;
rhsName = that.getName();
if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName, (this.name!= null), (that.name!= null))) {
return false;
}
}
{
List lhsTelecom;
lhsTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
List rhsTelecom;
rhsTelecom = (((that.telecom!= null)&&(!that.telecom.isEmpty()))?that.getTelecom():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "telecom", lhsTelecom), LocatorUtils.property(thatLocator, "telecom", rhsTelecom), lhsTelecom, rhsTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())), ((that.telecom!= null)&&(!that.telecom.isEmpty())))) {
return false;
}
}
{
Address lhsAddress;
lhsAddress = this.getAddress();
Address rhsAddress;
rhsAddress = that.getAddress();
if (!strategy.equals(LocatorUtils.property(thisLocator, "address", lhsAddress), LocatorUtils.property(thatLocator, "address", rhsAddress), lhsAddress, rhsAddress, (this.address!= null), (that.address!= null))) {
return false;
}
}
return true;
}
@Override
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.getInstance();
return equals(null, null, object, strategy);
}
@Override
public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) {
int currentHashCode = super.hashCode(locator, strategy);
{
CodeableConcept thePurpose;
thePurpose = this.getPurpose();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "purpose", thePurpose), currentHashCode, thePurpose, (this.purpose!= null));
}
{
HumanName theName;
theName = this.getName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, (this.name!= null));
}
{
List theTelecom;
theTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "telecom", theTelecom), currentHashCode, theTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())));
}
{
Address theAddress;
theAddress = this.getAddress();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "address", theAddress), currentHashCode, theAddress, (this.address!= null));
}
return currentHashCode;
}
@Override
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.getInstance();
return this.hashCode(null, strategy);
}
@Override
public java.lang.String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.getInstance();
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
@Override
public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
@Override
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
super.appendFields(locator, buffer, strategy);
{
CodeableConcept thePurpose;
thePurpose = this.getPurpose();
strategy.appendField(locator, this, "purpose", buffer, thePurpose, (this.purpose!= null));
}
{
HumanName theName;
theName = this.getName();
strategy.appendField(locator, this, "name", buffer, theName, (this.name!= null));
}
{
List theTelecom;
theTelecom = (((this.telecom!= null)&&(!this.telecom.isEmpty()))?this.getTelecom():null);
strategy.appendField(locator, this, "telecom", buffer, theTelecom, ((this.telecom!= null)&&(!this.telecom.isEmpty())));
}
{
Address theAddress;
theAddress = this.getAddress();
strategy.appendField(locator, this, "address", buffer, theAddress, (this.address!= null));
}
return buffer;
}
public void setTelecom(List value) {
this.telecom = value;
}
}