org.hl7.fhir.Contract 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;
/**
* If the element is present, it must have either a @value, an @id, or extensions
*
* Java class for Contract complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Contract">
* <complexContent>
* <extension base="{http://hl7.org/fhir}DomainResource">
* <sequence>
* <element name="identifier" type="{http://hl7.org/fhir}Identifier" minOccurs="0"/>
* <element name="issued" type="{http://hl7.org/fhir}dateTime" minOccurs="0"/>
* <element name="applies" type="{http://hl7.org/fhir}Period" minOccurs="0"/>
* <element name="subject" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="topic" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="authority" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="domain" type="{http://hl7.org/fhir}Reference" maxOccurs="unbounded" minOccurs="0"/>
* <element name="type" type="{http://hl7.org/fhir}CodeableConcept" minOccurs="0"/>
* <element name="subType" type="{http://hl7.org/fhir}CodeableConcept" maxOccurs="unbounded" minOccurs="0"/>
* <element name="action" type="{http://hl7.org/fhir}CodeableConcept" maxOccurs="unbounded" minOccurs="0"/>
* <element name="actionReason" type="{http://hl7.org/fhir}CodeableConcept" maxOccurs="unbounded" minOccurs="0"/>
* <element name="agent" type="{http://hl7.org/fhir}Contract.Agent" maxOccurs="unbounded" minOccurs="0"/>
* <element name="signer" type="{http://hl7.org/fhir}Contract.Signer" maxOccurs="unbounded" minOccurs="0"/>
* <element name="valuedItem" type="{http://hl7.org/fhir}Contract.ValuedItem" maxOccurs="unbounded" minOccurs="0"/>
* <element name="term" type="{http://hl7.org/fhir}Contract.Term" maxOccurs="unbounded" minOccurs="0"/>
* <choice minOccurs="0">
* <element name="bindingAttachment" type="{http://hl7.org/fhir}Attachment"/>
* <element name="bindingReference" type="{http://hl7.org/fhir}Reference"/>
* </choice>
* <element name="friendly" type="{http://hl7.org/fhir}Contract.Friendly" maxOccurs="unbounded" minOccurs="0"/>
* <element name="legal" type="{http://hl7.org/fhir}Contract.Legal" maxOccurs="unbounded" minOccurs="0"/>
* <element name="rule" type="{http://hl7.org/fhir}Contract.Rule" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Contract", propOrder = {
"identifier",
"issued",
"applies",
"subject",
"topic",
"authority",
"domain",
"type",
"subType",
"action",
"actionReason",
"agent",
"signer",
"valuedItem",
"term",
"bindingAttachment",
"bindingReference",
"friendly",
"legal",
"rule"
})
public class Contract
extends DomainResource
implements Equals2, HashCode2, ToString2
{
protected Identifier identifier;
protected DateTime issued;
protected Period applies;
protected List subject;
protected List topic;
protected List authority;
protected List domain;
protected CodeableConcept type;
protected List subType;
protected List action;
protected List actionReason;
protected List agent;
protected List signer;
protected List valuedItem;
protected List term;
protected Attachment bindingAttachment;
protected Reference bindingReference;
protected List friendly;
protected List legal;
protected List rule;
/**
* Gets the value of the identifier property.
*
* @return
* possible object is
* {@link Identifier }
*
*/
public Identifier getIdentifier() {
return identifier;
}
/**
* Sets the value of the identifier property.
*
* @param value
* allowed object is
* {@link Identifier }
*
*/
public void setIdentifier(Identifier value) {
this.identifier = value;
}
/**
* Gets the value of the issued property.
*
* @return
* possible object is
* {@link DateTime }
*
*/
public DateTime getIssued() {
return issued;
}
/**
* Sets the value of the issued property.
*
* @param value
* allowed object is
* {@link DateTime }
*
*/
public void setIssued(DateTime value) {
this.issued = value;
}
/**
* Gets the value of the applies property.
*
* @return
* possible object is
* {@link Period }
*
*/
public Period getApplies() {
return applies;
}
/**
* Sets the value of the applies property.
*
* @param value
* allowed object is
* {@link Period }
*
*/
public void setApplies(Period value) {
this.applies = value;
}
/**
* Gets the value of the subject 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 subject property.
*
*
* For example, to add a new item, do as follows:
*
* getSubject().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getSubject() {
if (subject == null) {
subject = new ArrayList();
}
return this.subject;
}
/**
* Gets the value of the topic 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 topic property.
*
*
* For example, to add a new item, do as follows:
*
* getTopic().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getTopic() {
if (topic == null) {
topic = new ArrayList();
}
return this.topic;
}
/**
* Gets the value of the authority 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 authority property.
*
*
* For example, to add a new item, do as follows:
*
* getAuthority().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getAuthority() {
if (authority == null) {
authority = new ArrayList();
}
return this.authority;
}
/**
* Gets the value of the domain 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 domain property.
*
*
* For example, to add a new item, do as follows:
*
* getDomain().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Reference }
*
*
*/
public List getDomain() {
if (domain == null) {
domain = new ArrayList();
}
return this.domain;
}
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link CodeableConcept }
*
*/
public CodeableConcept getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link CodeableConcept }
*
*/
public void setType(CodeableConcept value) {
this.type = value;
}
/**
* Gets the value of the subType 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 subType property.
*
*
* For example, to add a new item, do as follows:
*
* getSubType().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeableConcept }
*
*
*/
public List getSubType() {
if (subType == null) {
subType = new ArrayList();
}
return this.subType;
}
/**
* Gets the value of the action 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 action property.
*
*
* For example, to add a new item, do as follows:
*
* getAction().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeableConcept }
*
*
*/
public List getAction() {
if (action == null) {
action = new ArrayList();
}
return this.action;
}
/**
* Gets the value of the actionReason 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 actionReason property.
*
*
* For example, to add a new item, do as follows:
*
* getActionReason().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeableConcept }
*
*
*/
public List getActionReason() {
if (actionReason == null) {
actionReason = new ArrayList();
}
return this.actionReason;
}
/**
* Gets the value of the agent 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 agent property.
*
*
* For example, to add a new item, do as follows:
*
* getAgent().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractAgent }
*
*
*/
public List getAgent() {
if (agent == null) {
agent = new ArrayList();
}
return this.agent;
}
/**
* Gets the value of the signer 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 signer property.
*
*
* For example, to add a new item, do as follows:
*
* getSigner().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractSigner }
*
*
*/
public List getSigner() {
if (signer == null) {
signer = new ArrayList();
}
return this.signer;
}
/**
* Gets the value of the valuedItem 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 valuedItem property.
*
*
* For example, to add a new item, do as follows:
*
* getValuedItem().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractValuedItem }
*
*
*/
public List getValuedItem() {
if (valuedItem == null) {
valuedItem = new ArrayList();
}
return this.valuedItem;
}
/**
* Gets the value of the term 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 term property.
*
*
* For example, to add a new item, do as follows:
*
* getTerm().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractTerm }
*
*
*/
public List getTerm() {
if (term == null) {
term = new ArrayList();
}
return this.term;
}
/**
* Gets the value of the bindingAttachment property.
*
* @return
* possible object is
* {@link Attachment }
*
*/
public Attachment getBindingAttachment() {
return bindingAttachment;
}
/**
* Sets the value of the bindingAttachment property.
*
* @param value
* allowed object is
* {@link Attachment }
*
*/
public void setBindingAttachment(Attachment value) {
this.bindingAttachment = value;
}
/**
* Gets the value of the bindingReference property.
*
* @return
* possible object is
* {@link Reference }
*
*/
public Reference getBindingReference() {
return bindingReference;
}
/**
* Sets the value of the bindingReference property.
*
* @param value
* allowed object is
* {@link Reference }
*
*/
public void setBindingReference(Reference value) {
this.bindingReference = value;
}
/**
* Gets the value of the friendly 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 friendly property.
*
*
* For example, to add a new item, do as follows:
*
* getFriendly().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractFriendly }
*
*
*/
public List getFriendly() {
if (friendly == null) {
friendly = new ArrayList();
}
return this.friendly;
}
/**
* Gets the value of the legal 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 legal property.
*
*
* For example, to add a new item, do as follows:
*
* getLegal().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractLegal }
*
*
*/
public List getLegal() {
if (legal == null) {
legal = new ArrayList();
}
return this.legal;
}
/**
* Gets the value of the rule 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 rule property.
*
*
* For example, to add a new item, do as follows:
*
* getRule().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ContractRule }
*
*
*/
public List getRule() {
if (rule == null) {
rule = new ArrayList();
}
return this.rule;
}
public Contract withIdentifier(Identifier value) {
setIdentifier(value);
return this;
}
public Contract withIssued(DateTime value) {
setIssued(value);
return this;
}
public Contract withApplies(Period value) {
setApplies(value);
return this;
}
public Contract withSubject(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getSubject().add(value);
}
}
return this;
}
public Contract withSubject(Collection values) {
if (values!= null) {
getSubject().addAll(values);
}
return this;
}
public Contract withTopic(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getTopic().add(value);
}
}
return this;
}
public Contract withTopic(Collection values) {
if (values!= null) {
getTopic().addAll(values);
}
return this;
}
public Contract withAuthority(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getAuthority().add(value);
}
}
return this;
}
public Contract withAuthority(Collection values) {
if (values!= null) {
getAuthority().addAll(values);
}
return this;
}
public Contract withDomain(Reference... values) {
if (values!= null) {
for (Reference value: values) {
getDomain().add(value);
}
}
return this;
}
public Contract withDomain(Collection values) {
if (values!= null) {
getDomain().addAll(values);
}
return this;
}
public Contract withType(CodeableConcept value) {
setType(value);
return this;
}
public Contract withSubType(CodeableConcept... values) {
if (values!= null) {
for (CodeableConcept value: values) {
getSubType().add(value);
}
}
return this;
}
public Contract withSubType(Collection values) {
if (values!= null) {
getSubType().addAll(values);
}
return this;
}
public Contract withAction(CodeableConcept... values) {
if (values!= null) {
for (CodeableConcept value: values) {
getAction().add(value);
}
}
return this;
}
public Contract withAction(Collection values) {
if (values!= null) {
getAction().addAll(values);
}
return this;
}
public Contract withActionReason(CodeableConcept... values) {
if (values!= null) {
for (CodeableConcept value: values) {
getActionReason().add(value);
}
}
return this;
}
public Contract withActionReason(Collection values) {
if (values!= null) {
getActionReason().addAll(values);
}
return this;
}
public Contract withAgent(ContractAgent... values) {
if (values!= null) {
for (ContractAgent value: values) {
getAgent().add(value);
}
}
return this;
}
public Contract withAgent(Collection values) {
if (values!= null) {
getAgent().addAll(values);
}
return this;
}
public Contract withSigner(ContractSigner... values) {
if (values!= null) {
for (ContractSigner value: values) {
getSigner().add(value);
}
}
return this;
}
public Contract withSigner(Collection values) {
if (values!= null) {
getSigner().addAll(values);
}
return this;
}
public Contract withValuedItem(ContractValuedItem... values) {
if (values!= null) {
for (ContractValuedItem value: values) {
getValuedItem().add(value);
}
}
return this;
}
public Contract withValuedItem(Collection values) {
if (values!= null) {
getValuedItem().addAll(values);
}
return this;
}
public Contract withTerm(ContractTerm... values) {
if (values!= null) {
for (ContractTerm value: values) {
getTerm().add(value);
}
}
return this;
}
public Contract withTerm(Collection values) {
if (values!= null) {
getTerm().addAll(values);
}
return this;
}
public Contract withBindingAttachment(Attachment value) {
setBindingAttachment(value);
return this;
}
public Contract withBindingReference(Reference value) {
setBindingReference(value);
return this;
}
public Contract withFriendly(ContractFriendly... values) {
if (values!= null) {
for (ContractFriendly value: values) {
getFriendly().add(value);
}
}
return this;
}
public Contract withFriendly(Collection values) {
if (values!= null) {
getFriendly().addAll(values);
}
return this;
}
public Contract withLegal(ContractLegal... values) {
if (values!= null) {
for (ContractLegal value: values) {
getLegal().add(value);
}
}
return this;
}
public Contract withLegal(Collection values) {
if (values!= null) {
getLegal().addAll(values);
}
return this;
}
public Contract withRule(ContractRule... values) {
if (values!= null) {
for (ContractRule value: values) {
getRule().add(value);
}
}
return this;
}
public Contract withRule(Collection values) {
if (values!= null) {
getRule().addAll(values);
}
return this;
}
@Override
public Contract withText(Narrative value) {
setText(value);
return this;
}
@Override
public Contract withContained(ResourceContainer... values) {
if (values!= null) {
for (ResourceContainer value: values) {
getContained().add(value);
}
}
return this;
}
@Override
public Contract withContained(Collection values) {
if (values!= null) {
getContained().addAll(values);
}
return this;
}
@Override
public Contract withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public Contract withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public Contract withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public Contract withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public Contract withId(Id value) {
setId(value);
return this;
}
@Override
public Contract withMeta(Meta value) {
setMeta(value);
return this;
}
@Override
public Contract withImplicitRules(Uri value) {
setImplicitRules(value);
return this;
}
@Override
public Contract withLanguage(Code value) {
setLanguage(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 Contract that = ((Contract) object);
{
Identifier lhsIdentifier;
lhsIdentifier = this.getIdentifier();
Identifier rhsIdentifier;
rhsIdentifier = that.getIdentifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "identifier", lhsIdentifier), LocatorUtils.property(thatLocator, "identifier", rhsIdentifier), lhsIdentifier, rhsIdentifier, (this.identifier!= null), (that.identifier!= null))) {
return false;
}
}
{
DateTime lhsIssued;
lhsIssued = this.getIssued();
DateTime rhsIssued;
rhsIssued = that.getIssued();
if (!strategy.equals(LocatorUtils.property(thisLocator, "issued", lhsIssued), LocatorUtils.property(thatLocator, "issued", rhsIssued), lhsIssued, rhsIssued, (this.issued!= null), (that.issued!= null))) {
return false;
}
}
{
Period lhsApplies;
lhsApplies = this.getApplies();
Period rhsApplies;
rhsApplies = that.getApplies();
if (!strategy.equals(LocatorUtils.property(thisLocator, "applies", lhsApplies), LocatorUtils.property(thatLocator, "applies", rhsApplies), lhsApplies, rhsApplies, (this.applies!= null), (that.applies!= null))) {
return false;
}
}
{
List lhsSubject;
lhsSubject = (((this.subject!= null)&&(!this.subject.isEmpty()))?this.getSubject():null);
List rhsSubject;
rhsSubject = (((that.subject!= null)&&(!that.subject.isEmpty()))?that.getSubject():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "subject", lhsSubject), LocatorUtils.property(thatLocator, "subject", rhsSubject), lhsSubject, rhsSubject, ((this.subject!= null)&&(!this.subject.isEmpty())), ((that.subject!= null)&&(!that.subject.isEmpty())))) {
return false;
}
}
{
List lhsTopic;
lhsTopic = (((this.topic!= null)&&(!this.topic.isEmpty()))?this.getTopic():null);
List rhsTopic;
rhsTopic = (((that.topic!= null)&&(!that.topic.isEmpty()))?that.getTopic():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "topic", lhsTopic), LocatorUtils.property(thatLocator, "topic", rhsTopic), lhsTopic, rhsTopic, ((this.topic!= null)&&(!this.topic.isEmpty())), ((that.topic!= null)&&(!that.topic.isEmpty())))) {
return false;
}
}
{
List lhsAuthority;
lhsAuthority = (((this.authority!= null)&&(!this.authority.isEmpty()))?this.getAuthority():null);
List rhsAuthority;
rhsAuthority = (((that.authority!= null)&&(!that.authority.isEmpty()))?that.getAuthority():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "authority", lhsAuthority), LocatorUtils.property(thatLocator, "authority", rhsAuthority), lhsAuthority, rhsAuthority, ((this.authority!= null)&&(!this.authority.isEmpty())), ((that.authority!= null)&&(!that.authority.isEmpty())))) {
return false;
}
}
{
List lhsDomain;
lhsDomain = (((this.domain!= null)&&(!this.domain.isEmpty()))?this.getDomain():null);
List rhsDomain;
rhsDomain = (((that.domain!= null)&&(!that.domain.isEmpty()))?that.getDomain():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "domain", lhsDomain), LocatorUtils.property(thatLocator, "domain", rhsDomain), lhsDomain, rhsDomain, ((this.domain!= null)&&(!this.domain.isEmpty())), ((that.domain!= null)&&(!that.domain.isEmpty())))) {
return false;
}
}
{
CodeableConcept lhsType;
lhsType = this.getType();
CodeableConcept rhsType;
rhsType = that.getType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "type", lhsType), LocatorUtils.property(thatLocator, "type", rhsType), lhsType, rhsType, (this.type!= null), (that.type!= null))) {
return false;
}
}
{
List lhsSubType;
lhsSubType = (((this.subType!= null)&&(!this.subType.isEmpty()))?this.getSubType():null);
List rhsSubType;
rhsSubType = (((that.subType!= null)&&(!that.subType.isEmpty()))?that.getSubType():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "subType", lhsSubType), LocatorUtils.property(thatLocator, "subType", rhsSubType), lhsSubType, rhsSubType, ((this.subType!= null)&&(!this.subType.isEmpty())), ((that.subType!= null)&&(!that.subType.isEmpty())))) {
return false;
}
}
{
List lhsAction;
lhsAction = (((this.action!= null)&&(!this.action.isEmpty()))?this.getAction():null);
List rhsAction;
rhsAction = (((that.action!= null)&&(!that.action.isEmpty()))?that.getAction():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "action", lhsAction), LocatorUtils.property(thatLocator, "action", rhsAction), lhsAction, rhsAction, ((this.action!= null)&&(!this.action.isEmpty())), ((that.action!= null)&&(!that.action.isEmpty())))) {
return false;
}
}
{
List lhsActionReason;
lhsActionReason = (((this.actionReason!= null)&&(!this.actionReason.isEmpty()))?this.getActionReason():null);
List rhsActionReason;
rhsActionReason = (((that.actionReason!= null)&&(!that.actionReason.isEmpty()))?that.getActionReason():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "actionReason", lhsActionReason), LocatorUtils.property(thatLocator, "actionReason", rhsActionReason), lhsActionReason, rhsActionReason, ((this.actionReason!= null)&&(!this.actionReason.isEmpty())), ((that.actionReason!= null)&&(!that.actionReason.isEmpty())))) {
return false;
}
}
{
List lhsAgent;
lhsAgent = (((this.agent!= null)&&(!this.agent.isEmpty()))?this.getAgent():null);
List rhsAgent;
rhsAgent = (((that.agent!= null)&&(!that.agent.isEmpty()))?that.getAgent():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "agent", lhsAgent), LocatorUtils.property(thatLocator, "agent", rhsAgent), lhsAgent, rhsAgent, ((this.agent!= null)&&(!this.agent.isEmpty())), ((that.agent!= null)&&(!that.agent.isEmpty())))) {
return false;
}
}
{
List lhsSigner;
lhsSigner = (((this.signer!= null)&&(!this.signer.isEmpty()))?this.getSigner():null);
List rhsSigner;
rhsSigner = (((that.signer!= null)&&(!that.signer.isEmpty()))?that.getSigner():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "signer", lhsSigner), LocatorUtils.property(thatLocator, "signer", rhsSigner), lhsSigner, rhsSigner, ((this.signer!= null)&&(!this.signer.isEmpty())), ((that.signer!= null)&&(!that.signer.isEmpty())))) {
return false;
}
}
{
List lhsValuedItem;
lhsValuedItem = (((this.valuedItem!= null)&&(!this.valuedItem.isEmpty()))?this.getValuedItem():null);
List rhsValuedItem;
rhsValuedItem = (((that.valuedItem!= null)&&(!that.valuedItem.isEmpty()))?that.getValuedItem():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "valuedItem", lhsValuedItem), LocatorUtils.property(thatLocator, "valuedItem", rhsValuedItem), lhsValuedItem, rhsValuedItem, ((this.valuedItem!= null)&&(!this.valuedItem.isEmpty())), ((that.valuedItem!= null)&&(!that.valuedItem.isEmpty())))) {
return false;
}
}
{
List lhsTerm;
lhsTerm = (((this.term!= null)&&(!this.term.isEmpty()))?this.getTerm():null);
List rhsTerm;
rhsTerm = (((that.term!= null)&&(!that.term.isEmpty()))?that.getTerm():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "term", lhsTerm), LocatorUtils.property(thatLocator, "term", rhsTerm), lhsTerm, rhsTerm, ((this.term!= null)&&(!this.term.isEmpty())), ((that.term!= null)&&(!that.term.isEmpty())))) {
return false;
}
}
{
Attachment lhsBindingAttachment;
lhsBindingAttachment = this.getBindingAttachment();
Attachment rhsBindingAttachment;
rhsBindingAttachment = that.getBindingAttachment();
if (!strategy.equals(LocatorUtils.property(thisLocator, "bindingAttachment", lhsBindingAttachment), LocatorUtils.property(thatLocator, "bindingAttachment", rhsBindingAttachment), lhsBindingAttachment, rhsBindingAttachment, (this.bindingAttachment!= null), (that.bindingAttachment!= null))) {
return false;
}
}
{
Reference lhsBindingReference;
lhsBindingReference = this.getBindingReference();
Reference rhsBindingReference;
rhsBindingReference = that.getBindingReference();
if (!strategy.equals(LocatorUtils.property(thisLocator, "bindingReference", lhsBindingReference), LocatorUtils.property(thatLocator, "bindingReference", rhsBindingReference), lhsBindingReference, rhsBindingReference, (this.bindingReference!= null), (that.bindingReference!= null))) {
return false;
}
}
{
List lhsFriendly;
lhsFriendly = (((this.friendly!= null)&&(!this.friendly.isEmpty()))?this.getFriendly():null);
List rhsFriendly;
rhsFriendly = (((that.friendly!= null)&&(!that.friendly.isEmpty()))?that.getFriendly():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "friendly", lhsFriendly), LocatorUtils.property(thatLocator, "friendly", rhsFriendly), lhsFriendly, rhsFriendly, ((this.friendly!= null)&&(!this.friendly.isEmpty())), ((that.friendly!= null)&&(!that.friendly.isEmpty())))) {
return false;
}
}
{
List lhsLegal;
lhsLegal = (((this.legal!= null)&&(!this.legal.isEmpty()))?this.getLegal():null);
List rhsLegal;
rhsLegal = (((that.legal!= null)&&(!that.legal.isEmpty()))?that.getLegal():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "legal", lhsLegal), LocatorUtils.property(thatLocator, "legal", rhsLegal), lhsLegal, rhsLegal, ((this.legal!= null)&&(!this.legal.isEmpty())), ((that.legal!= null)&&(!that.legal.isEmpty())))) {
return false;
}
}
{
List lhsRule;
lhsRule = (((this.rule!= null)&&(!this.rule.isEmpty()))?this.getRule():null);
List rhsRule;
rhsRule = (((that.rule!= null)&&(!that.rule.isEmpty()))?that.getRule():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "rule", lhsRule), LocatorUtils.property(thatLocator, "rule", rhsRule), lhsRule, rhsRule, ((this.rule!= null)&&(!this.rule.isEmpty())), ((that.rule!= null)&&(!that.rule.isEmpty())))) {
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);
{
Identifier theIdentifier;
theIdentifier = this.getIdentifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "identifier", theIdentifier), currentHashCode, theIdentifier, (this.identifier!= null));
}
{
DateTime theIssued;
theIssued = this.getIssued();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "issued", theIssued), currentHashCode, theIssued, (this.issued!= null));
}
{
Period theApplies;
theApplies = this.getApplies();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "applies", theApplies), currentHashCode, theApplies, (this.applies!= null));
}
{
List theSubject;
theSubject = (((this.subject!= null)&&(!this.subject.isEmpty()))?this.getSubject():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "subject", theSubject), currentHashCode, theSubject, ((this.subject!= null)&&(!this.subject.isEmpty())));
}
{
List theTopic;
theTopic = (((this.topic!= null)&&(!this.topic.isEmpty()))?this.getTopic():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topic", theTopic), currentHashCode, theTopic, ((this.topic!= null)&&(!this.topic.isEmpty())));
}
{
List theAuthority;
theAuthority = (((this.authority!= null)&&(!this.authority.isEmpty()))?this.getAuthority():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "authority", theAuthority), currentHashCode, theAuthority, ((this.authority!= null)&&(!this.authority.isEmpty())));
}
{
List theDomain;
theDomain = (((this.domain!= null)&&(!this.domain.isEmpty()))?this.getDomain():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "domain", theDomain), currentHashCode, theDomain, ((this.domain!= null)&&(!this.domain.isEmpty())));
}
{
CodeableConcept theType;
theType = this.getType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "type", theType), currentHashCode, theType, (this.type!= null));
}
{
List theSubType;
theSubType = (((this.subType!= null)&&(!this.subType.isEmpty()))?this.getSubType():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "subType", theSubType), currentHashCode, theSubType, ((this.subType!= null)&&(!this.subType.isEmpty())));
}
{
List theAction;
theAction = (((this.action!= null)&&(!this.action.isEmpty()))?this.getAction():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "action", theAction), currentHashCode, theAction, ((this.action!= null)&&(!this.action.isEmpty())));
}
{
List theActionReason;
theActionReason = (((this.actionReason!= null)&&(!this.actionReason.isEmpty()))?this.getActionReason():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "actionReason", theActionReason), currentHashCode, theActionReason, ((this.actionReason!= null)&&(!this.actionReason.isEmpty())));
}
{
List theAgent;
theAgent = (((this.agent!= null)&&(!this.agent.isEmpty()))?this.getAgent():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "agent", theAgent), currentHashCode, theAgent, ((this.agent!= null)&&(!this.agent.isEmpty())));
}
{
List theSigner;
theSigner = (((this.signer!= null)&&(!this.signer.isEmpty()))?this.getSigner():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "signer", theSigner), currentHashCode, theSigner, ((this.signer!= null)&&(!this.signer.isEmpty())));
}
{
List theValuedItem;
theValuedItem = (((this.valuedItem!= null)&&(!this.valuedItem.isEmpty()))?this.getValuedItem():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valuedItem", theValuedItem), currentHashCode, theValuedItem, ((this.valuedItem!= null)&&(!this.valuedItem.isEmpty())));
}
{
List theTerm;
theTerm = (((this.term!= null)&&(!this.term.isEmpty()))?this.getTerm():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "term", theTerm), currentHashCode, theTerm, ((this.term!= null)&&(!this.term.isEmpty())));
}
{
Attachment theBindingAttachment;
theBindingAttachment = this.getBindingAttachment();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bindingAttachment", theBindingAttachment), currentHashCode, theBindingAttachment, (this.bindingAttachment!= null));
}
{
Reference theBindingReference;
theBindingReference = this.getBindingReference();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bindingReference", theBindingReference), currentHashCode, theBindingReference, (this.bindingReference!= null));
}
{
List theFriendly;
theFriendly = (((this.friendly!= null)&&(!this.friendly.isEmpty()))?this.getFriendly():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "friendly", theFriendly), currentHashCode, theFriendly, ((this.friendly!= null)&&(!this.friendly.isEmpty())));
}
{
List theLegal;
theLegal = (((this.legal!= null)&&(!this.legal.isEmpty()))?this.getLegal():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "legal", theLegal), currentHashCode, theLegal, ((this.legal!= null)&&(!this.legal.isEmpty())));
}
{
List theRule;
theRule = (((this.rule!= null)&&(!this.rule.isEmpty()))?this.getRule():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "rule", theRule), currentHashCode, theRule, ((this.rule!= null)&&(!this.rule.isEmpty())));
}
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);
{
Identifier theIdentifier;
theIdentifier = this.getIdentifier();
strategy.appendField(locator, this, "identifier", buffer, theIdentifier, (this.identifier!= null));
}
{
DateTime theIssued;
theIssued = this.getIssued();
strategy.appendField(locator, this, "issued", buffer, theIssued, (this.issued!= null));
}
{
Period theApplies;
theApplies = this.getApplies();
strategy.appendField(locator, this, "applies", buffer, theApplies, (this.applies!= null));
}
{
List theSubject;
theSubject = (((this.subject!= null)&&(!this.subject.isEmpty()))?this.getSubject():null);
strategy.appendField(locator, this, "subject", buffer, theSubject, ((this.subject!= null)&&(!this.subject.isEmpty())));
}
{
List theTopic;
theTopic = (((this.topic!= null)&&(!this.topic.isEmpty()))?this.getTopic():null);
strategy.appendField(locator, this, "topic", buffer, theTopic, ((this.topic!= null)&&(!this.topic.isEmpty())));
}
{
List theAuthority;
theAuthority = (((this.authority!= null)&&(!this.authority.isEmpty()))?this.getAuthority():null);
strategy.appendField(locator, this, "authority", buffer, theAuthority, ((this.authority!= null)&&(!this.authority.isEmpty())));
}
{
List theDomain;
theDomain = (((this.domain!= null)&&(!this.domain.isEmpty()))?this.getDomain():null);
strategy.appendField(locator, this, "domain", buffer, theDomain, ((this.domain!= null)&&(!this.domain.isEmpty())));
}
{
CodeableConcept theType;
theType = this.getType();
strategy.appendField(locator, this, "type", buffer, theType, (this.type!= null));
}
{
List theSubType;
theSubType = (((this.subType!= null)&&(!this.subType.isEmpty()))?this.getSubType():null);
strategy.appendField(locator, this, "subType", buffer, theSubType, ((this.subType!= null)&&(!this.subType.isEmpty())));
}
{
List theAction;
theAction = (((this.action!= null)&&(!this.action.isEmpty()))?this.getAction():null);
strategy.appendField(locator, this, "action", buffer, theAction, ((this.action!= null)&&(!this.action.isEmpty())));
}
{
List theActionReason;
theActionReason = (((this.actionReason!= null)&&(!this.actionReason.isEmpty()))?this.getActionReason():null);
strategy.appendField(locator, this, "actionReason", buffer, theActionReason, ((this.actionReason!= null)&&(!this.actionReason.isEmpty())));
}
{
List theAgent;
theAgent = (((this.agent!= null)&&(!this.agent.isEmpty()))?this.getAgent():null);
strategy.appendField(locator, this, "agent", buffer, theAgent, ((this.agent!= null)&&(!this.agent.isEmpty())));
}
{
List theSigner;
theSigner = (((this.signer!= null)&&(!this.signer.isEmpty()))?this.getSigner():null);
strategy.appendField(locator, this, "signer", buffer, theSigner, ((this.signer!= null)&&(!this.signer.isEmpty())));
}
{
List theValuedItem;
theValuedItem = (((this.valuedItem!= null)&&(!this.valuedItem.isEmpty()))?this.getValuedItem():null);
strategy.appendField(locator, this, "valuedItem", buffer, theValuedItem, ((this.valuedItem!= null)&&(!this.valuedItem.isEmpty())));
}
{
List theTerm;
theTerm = (((this.term!= null)&&(!this.term.isEmpty()))?this.getTerm():null);
strategy.appendField(locator, this, "term", buffer, theTerm, ((this.term!= null)&&(!this.term.isEmpty())));
}
{
Attachment theBindingAttachment;
theBindingAttachment = this.getBindingAttachment();
strategy.appendField(locator, this, "bindingAttachment", buffer, theBindingAttachment, (this.bindingAttachment!= null));
}
{
Reference theBindingReference;
theBindingReference = this.getBindingReference();
strategy.appendField(locator, this, "bindingReference", buffer, theBindingReference, (this.bindingReference!= null));
}
{
List theFriendly;
theFriendly = (((this.friendly!= null)&&(!this.friendly.isEmpty()))?this.getFriendly():null);
strategy.appendField(locator, this, "friendly", buffer, theFriendly, ((this.friendly!= null)&&(!this.friendly.isEmpty())));
}
{
List theLegal;
theLegal = (((this.legal!= null)&&(!this.legal.isEmpty()))?this.getLegal():null);
strategy.appendField(locator, this, "legal", buffer, theLegal, ((this.legal!= null)&&(!this.legal.isEmpty())));
}
{
List theRule;
theRule = (((this.rule!= null)&&(!this.rule.isEmpty()))?this.getRule():null);
strategy.appendField(locator, this, "rule", buffer, theRule, ((this.rule!= null)&&(!this.rule.isEmpty())));
}
return buffer;
}
public void setSubject(List value) {
this.subject = value;
}
public void setTopic(List value) {
this.topic = value;
}
public void setAuthority(List value) {
this.authority = value;
}
public void setDomain(List value) {
this.domain = value;
}
public void setSubType(List value) {
this.subType = value;
}
public void setAction(List value) {
this.action = value;
}
public void setActionReason(List value) {
this.actionReason = value;
}
public void setAgent(List value) {
this.agent = value;
}
public void setSigner(List value) {
this.signer = value;
}
public void setValuedItem(List value) {
this.valuedItem = value;
}
public void setTerm(List value) {
this.term = value;
}
public void setFriendly(List value) {
this.friendly = value;
}
public void setLegal(List value) {
this.legal = value;
}
public void setRule(List value) {
this.rule = value;
}
}