org.hl7.fhir.StructureDefinition 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.10.07 at 09:31:25 AM MDT
//
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.XmlElement;
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 StructureDefinition complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="StructureDefinition">
* <complexContent>
* <extension base="{http://hl7.org/fhir}DomainResource">
* <sequence>
* <element name="url" type="{http://hl7.org/fhir}uri"/>
* <element name="identifier" type="{http://hl7.org/fhir}Identifier" maxOccurs="unbounded" minOccurs="0"/>
* <element name="version" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="name" type="{http://hl7.org/fhir}string"/>
* <element name="display" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="status" type="{http://hl7.org/fhir}ConformanceResourceStatus"/>
* <element name="experimental" type="{http://hl7.org/fhir}boolean" minOccurs="0"/>
* <element name="publisher" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="contact" type="{http://hl7.org/fhir}StructureDefinition.Contact" maxOccurs="unbounded" minOccurs="0"/>
* <element name="date" type="{http://hl7.org/fhir}dateTime" minOccurs="0"/>
* <element name="description" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="useContext" type="{http://hl7.org/fhir}CodeableConcept" maxOccurs="unbounded" minOccurs="0"/>
* <element name="requirements" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="copyright" type="{http://hl7.org/fhir}string" minOccurs="0"/>
* <element name="code" type="{http://hl7.org/fhir}Coding" maxOccurs="unbounded" minOccurs="0"/>
* <element name="fhirVersion" type="{http://hl7.org/fhir}id" minOccurs="0"/>
* <element name="mapping" type="{http://hl7.org/fhir}StructureDefinition.Mapping" maxOccurs="unbounded" minOccurs="0"/>
* <element name="kind" type="{http://hl7.org/fhir}StructureDefinitionKind"/>
* <element name="abstract" type="{http://hl7.org/fhir}boolean"/>
* <element name="contextType" type="{http://hl7.org/fhir}ExtensionContext" minOccurs="0"/>
* <element name="context" type="{http://hl7.org/fhir}string" maxOccurs="unbounded" minOccurs="0"/>
* <element name="baseType" type="{http://hl7.org/fhir}code" minOccurs="0"/>
* <element name="baseDefinition" type="{http://hl7.org/fhir}uri" minOccurs="0"/>
* <element name="derivation" type="{http://hl7.org/fhir}TypeDerivationRule" minOccurs="0"/>
* <element name="snapshot" type="{http://hl7.org/fhir}StructureDefinition.Snapshot" minOccurs="0"/>
* <element name="differential" type="{http://hl7.org/fhir}StructureDefinition.Differential" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "StructureDefinition", propOrder = {
"url",
"identifier",
"version",
"name",
"display",
"status",
"experimental",
"publisher",
"contact",
"date",
"description",
"useContext",
"requirements",
"copyright",
"code",
"fhirVersion",
"mapping",
"kind",
"_abstract",
"contextType",
"context",
"baseType",
"baseDefinition",
"derivation",
"snapshot",
"differential"
})
public class StructureDefinition
extends DomainResource
implements Equals2, HashCode2, ToString2
{
@XmlElement(required = true)
protected Uri url;
protected List identifier;
protected org.hl7.fhir.String version;
@XmlElement(required = true)
protected org.hl7.fhir.String name;
protected org.hl7.fhir.String display;
@XmlElement(required = true)
protected ConformanceResourceStatus status;
protected Boolean experimental;
protected org.hl7.fhir.String publisher;
protected List contact;
protected DateTime date;
protected org.hl7.fhir.String description;
protected List useContext;
protected org.hl7.fhir.String requirements;
protected org.hl7.fhir.String copyright;
protected List code;
protected Id fhirVersion;
protected List mapping;
@XmlElement(required = true)
protected StructureDefinitionKind kind;
@XmlElement(name = "abstract", required = true)
protected Boolean _abstract;
protected ExtensionContext contextType;
protected List context;
protected Code baseType;
protected Uri baseDefinition;
protected TypeDerivationRule derivation;
protected StructureDefinitionSnapshot snapshot;
protected StructureDefinitionDifferential differential;
/**
* Gets the value of the url property.
*
* @return
* possible object is
* {@link Uri }
*
*/
public Uri getUrl() {
return url;
}
/**
* Sets the value of the url property.
*
* @param value
* allowed object is
* {@link Uri }
*
*/
public void setUrl(Uri value) {
this.url = value;
}
/**
* Gets the value of the identifier 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 identifier property.
*
*
* For example, to add a new item, do as follows:
*
* getIdentifier().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Identifier }
*
*
*/
public List getIdentifier() {
if (identifier == null) {
identifier = new ArrayList();
}
return this.identifier;
}
/**
* Gets the value of the version property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getVersion() {
return version;
}
/**
* Sets the value of the version property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setVersion(org.hl7.fhir.String value) {
this.version = value;
}
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setName(org.hl7.fhir.String value) {
this.name = value;
}
/**
* Gets the value of the display property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getDisplay() {
return display;
}
/**
* Sets the value of the display property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setDisplay(org.hl7.fhir.String value) {
this.display = value;
}
/**
* Gets the value of the status property.
*
* @return
* possible object is
* {@link ConformanceResourceStatus }
*
*/
public ConformanceResourceStatus getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value
* allowed object is
* {@link ConformanceResourceStatus }
*
*/
public void setStatus(ConformanceResourceStatus value) {
this.status = value;
}
/**
* Gets the value of the experimental property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getExperimental() {
return experimental;
}
/**
* Sets the value of the experimental property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setExperimental(Boolean value) {
this.experimental = value;
}
/**
* Gets the value of the publisher property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getPublisher() {
return publisher;
}
/**
* Sets the value of the publisher property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setPublisher(org.hl7.fhir.String value) {
this.publisher = value;
}
/**
* Gets the value of the contact 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 contact property.
*
*
* For example, to add a new item, do as follows:
*
* getContact().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link StructureDefinitionContact }
*
*
*/
public List getContact() {
if (contact == null) {
contact = new ArrayList();
}
return this.contact;
}
/**
* Gets the value of the date property.
*
* @return
* possible object is
* {@link DateTime }
*
*/
public DateTime getDate() {
return date;
}
/**
* Sets the value of the date property.
*
* @param value
* allowed object is
* {@link DateTime }
*
*/
public void setDate(DateTime value) {
this.date = value;
}
/**
* Gets the value of the description property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getDescription() {
return description;
}
/**
* Sets the value of the description property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setDescription(org.hl7.fhir.String value) {
this.description = value;
}
/**
* Gets the value of the useContext 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 useContext property.
*
*
* For example, to add a new item, do as follows:
*
* getUseContext().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CodeableConcept }
*
*
*/
public List getUseContext() {
if (useContext == null) {
useContext = new ArrayList();
}
return this.useContext;
}
/**
* Gets the value of the requirements property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getRequirements() {
return requirements;
}
/**
* Sets the value of the requirements property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setRequirements(org.hl7.fhir.String value) {
this.requirements = value;
}
/**
* Gets the value of the copyright property.
*
* @return
* possible object is
* {@link org.hl7.fhir.String }
*
*/
public org.hl7.fhir.String getCopyright() {
return copyright;
}
/**
* Sets the value of the copyright property.
*
* @param value
* allowed object is
* {@link org.hl7.fhir.String }
*
*/
public void setCopyright(org.hl7.fhir.String value) {
this.copyright = value;
}
/**
* Gets the value of the code 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 code property.
*
*
* For example, to add a new item, do as follows:
*
* getCode().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Coding }
*
*
*/
public List getCode() {
if (code == null) {
code = new ArrayList();
}
return this.code;
}
/**
* Gets the value of the fhirVersion property.
*
* @return
* possible object is
* {@link Id }
*
*/
public Id getFhirVersion() {
return fhirVersion;
}
/**
* Sets the value of the fhirVersion property.
*
* @param value
* allowed object is
* {@link Id }
*
*/
public void setFhirVersion(Id value) {
this.fhirVersion = value;
}
/**
* Gets the value of the mapping 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 mapping property.
*
*
* For example, to add a new item, do as follows:
*
* getMapping().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link StructureDefinitionMapping }
*
*
*/
public List getMapping() {
if (mapping == null) {
mapping = new ArrayList();
}
return this.mapping;
}
/**
* Gets the value of the kind property.
*
* @return
* possible object is
* {@link StructureDefinitionKind }
*
*/
public StructureDefinitionKind getKind() {
return kind;
}
/**
* Sets the value of the kind property.
*
* @param value
* allowed object is
* {@link StructureDefinitionKind }
*
*/
public void setKind(StructureDefinitionKind value) {
this.kind = value;
}
/**
* Gets the value of the abstract property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getAbstract() {
return _abstract;
}
/**
* Sets the value of the abstract property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setAbstract(Boolean value) {
this._abstract = value;
}
/**
* Gets the value of the contextType property.
*
* @return
* possible object is
* {@link ExtensionContext }
*
*/
public ExtensionContext getContextType() {
return contextType;
}
/**
* Sets the value of the contextType property.
*
* @param value
* allowed object is
* {@link ExtensionContext }
*
*/
public void setContextType(ExtensionContext value) {
this.contextType = value;
}
/**
* Gets the value of the context 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 context property.
*
*
* For example, to add a new item, do as follows:
*
* getContext().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link org.hl7.fhir.String }
*
*
*/
public List getContext() {
if (context == null) {
context = new ArrayList();
}
return this.context;
}
/**
* Gets the value of the baseType property.
*
* @return
* possible object is
* {@link Code }
*
*/
public Code getBaseType() {
return baseType;
}
/**
* Sets the value of the baseType property.
*
* @param value
* allowed object is
* {@link Code }
*
*/
public void setBaseType(Code value) {
this.baseType = value;
}
/**
* Gets the value of the baseDefinition property.
*
* @return
* possible object is
* {@link Uri }
*
*/
public Uri getBaseDefinition() {
return baseDefinition;
}
/**
* Sets the value of the baseDefinition property.
*
* @param value
* allowed object is
* {@link Uri }
*
*/
public void setBaseDefinition(Uri value) {
this.baseDefinition = value;
}
/**
* Gets the value of the derivation property.
*
* @return
* possible object is
* {@link TypeDerivationRule }
*
*/
public TypeDerivationRule getDerivation() {
return derivation;
}
/**
* Sets the value of the derivation property.
*
* @param value
* allowed object is
* {@link TypeDerivationRule }
*
*/
public void setDerivation(TypeDerivationRule value) {
this.derivation = value;
}
/**
* Gets the value of the snapshot property.
*
* @return
* possible object is
* {@link StructureDefinitionSnapshot }
*
*/
public StructureDefinitionSnapshot getSnapshot() {
return snapshot;
}
/**
* Sets the value of the snapshot property.
*
* @param value
* allowed object is
* {@link StructureDefinitionSnapshot }
*
*/
public void setSnapshot(StructureDefinitionSnapshot value) {
this.snapshot = value;
}
/**
* Gets the value of the differential property.
*
* @return
* possible object is
* {@link StructureDefinitionDifferential }
*
*/
public StructureDefinitionDifferential getDifferential() {
return differential;
}
/**
* Sets the value of the differential property.
*
* @param value
* allowed object is
* {@link StructureDefinitionDifferential }
*
*/
public void setDifferential(StructureDefinitionDifferential value) {
this.differential = value;
}
public StructureDefinition withUrl(Uri value) {
setUrl(value);
return this;
}
public StructureDefinition withIdentifier(Identifier... values) {
if (values!= null) {
for (Identifier value: values) {
getIdentifier().add(value);
}
}
return this;
}
public StructureDefinition withIdentifier(Collection values) {
if (values!= null) {
getIdentifier().addAll(values);
}
return this;
}
public StructureDefinition withVersion(org.hl7.fhir.String value) {
setVersion(value);
return this;
}
public StructureDefinition withName(org.hl7.fhir.String value) {
setName(value);
return this;
}
public StructureDefinition withDisplay(org.hl7.fhir.String value) {
setDisplay(value);
return this;
}
public StructureDefinition withStatus(ConformanceResourceStatus value) {
setStatus(value);
return this;
}
public StructureDefinition withExperimental(Boolean value) {
setExperimental(value);
return this;
}
public StructureDefinition withPublisher(org.hl7.fhir.String value) {
setPublisher(value);
return this;
}
public StructureDefinition withContact(StructureDefinitionContact... values) {
if (values!= null) {
for (StructureDefinitionContact value: values) {
getContact().add(value);
}
}
return this;
}
public StructureDefinition withContact(Collection values) {
if (values!= null) {
getContact().addAll(values);
}
return this;
}
public StructureDefinition withDate(DateTime value) {
setDate(value);
return this;
}
public StructureDefinition withDescription(org.hl7.fhir.String value) {
setDescription(value);
return this;
}
public StructureDefinition withUseContext(CodeableConcept... values) {
if (values!= null) {
for (CodeableConcept value: values) {
getUseContext().add(value);
}
}
return this;
}
public StructureDefinition withUseContext(Collection values) {
if (values!= null) {
getUseContext().addAll(values);
}
return this;
}
public StructureDefinition withRequirements(org.hl7.fhir.String value) {
setRequirements(value);
return this;
}
public StructureDefinition withCopyright(org.hl7.fhir.String value) {
setCopyright(value);
return this;
}
public StructureDefinition withCode(Coding... values) {
if (values!= null) {
for (Coding value: values) {
getCode().add(value);
}
}
return this;
}
public StructureDefinition withCode(Collection values) {
if (values!= null) {
getCode().addAll(values);
}
return this;
}
public StructureDefinition withFhirVersion(Id value) {
setFhirVersion(value);
return this;
}
public StructureDefinition withMapping(StructureDefinitionMapping... values) {
if (values!= null) {
for (StructureDefinitionMapping value: values) {
getMapping().add(value);
}
}
return this;
}
public StructureDefinition withMapping(Collection values) {
if (values!= null) {
getMapping().addAll(values);
}
return this;
}
public StructureDefinition withKind(StructureDefinitionKind value) {
setKind(value);
return this;
}
public StructureDefinition withAbstract(Boolean value) {
setAbstract(value);
return this;
}
public StructureDefinition withContextType(ExtensionContext value) {
setContextType(value);
return this;
}
public StructureDefinition withContext(org.hl7.fhir.String... values) {
if (values!= null) {
for (org.hl7.fhir.String value: values) {
getContext().add(value);
}
}
return this;
}
public StructureDefinition withContext(Collection values) {
if (values!= null) {
getContext().addAll(values);
}
return this;
}
public StructureDefinition withBaseType(Code value) {
setBaseType(value);
return this;
}
public StructureDefinition withBaseDefinition(Uri value) {
setBaseDefinition(value);
return this;
}
public StructureDefinition withDerivation(TypeDerivationRule value) {
setDerivation(value);
return this;
}
public StructureDefinition withSnapshot(StructureDefinitionSnapshot value) {
setSnapshot(value);
return this;
}
public StructureDefinition withDifferential(StructureDefinitionDifferential value) {
setDifferential(value);
return this;
}
@Override
public StructureDefinition withText(Narrative value) {
setText(value);
return this;
}
@Override
public StructureDefinition withContained(ResourceContainer... values) {
if (values!= null) {
for (ResourceContainer value: values) {
getContained().add(value);
}
}
return this;
}
@Override
public StructureDefinition withContained(Collection values) {
if (values!= null) {
getContained().addAll(values);
}
return this;
}
@Override
public StructureDefinition withExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getExtension().add(value);
}
}
return this;
}
@Override
public StructureDefinition withExtension(Collection values) {
if (values!= null) {
getExtension().addAll(values);
}
return this;
}
@Override
public StructureDefinition withModifierExtension(Extension... values) {
if (values!= null) {
for (Extension value: values) {
getModifierExtension().add(value);
}
}
return this;
}
@Override
public StructureDefinition withModifierExtension(Collection values) {
if (values!= null) {
getModifierExtension().addAll(values);
}
return this;
}
@Override
public StructureDefinition withId(Id value) {
setId(value);
return this;
}
@Override
public StructureDefinition withMeta(Meta value) {
setMeta(value);
return this;
}
@Override
public StructureDefinition withImplicitRules(Uri value) {
setImplicitRules(value);
return this;
}
@Override
public StructureDefinition 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 StructureDefinition that = ((StructureDefinition) object);
{
Uri lhsUrl;
lhsUrl = this.getUrl();
Uri rhsUrl;
rhsUrl = that.getUrl();
if (!strategy.equals(LocatorUtils.property(thisLocator, "url", lhsUrl), LocatorUtils.property(thatLocator, "url", rhsUrl), lhsUrl, rhsUrl, (this.url!= null), (that.url!= null))) {
return false;
}
}
{
List lhsIdentifier;
lhsIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
List rhsIdentifier;
rhsIdentifier = (((that.identifier!= null)&&(!that.identifier.isEmpty()))?that.getIdentifier():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "identifier", lhsIdentifier), LocatorUtils.property(thatLocator, "identifier", rhsIdentifier), lhsIdentifier, rhsIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())), ((that.identifier!= null)&&(!that.identifier.isEmpty())))) {
return false;
}
}
{
org.hl7.fhir.String lhsVersion;
lhsVersion = this.getVersion();
org.hl7.fhir.String rhsVersion;
rhsVersion = that.getVersion();
if (!strategy.equals(LocatorUtils.property(thisLocator, "version", lhsVersion), LocatorUtils.property(thatLocator, "version", rhsVersion), lhsVersion, rhsVersion, (this.version!= null), (that.version!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsName;
lhsName = this.getName();
org.hl7.fhir.String 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;
}
}
{
org.hl7.fhir.String lhsDisplay;
lhsDisplay = this.getDisplay();
org.hl7.fhir.String rhsDisplay;
rhsDisplay = that.getDisplay();
if (!strategy.equals(LocatorUtils.property(thisLocator, "display", lhsDisplay), LocatorUtils.property(thatLocator, "display", rhsDisplay), lhsDisplay, rhsDisplay, (this.display!= null), (that.display!= null))) {
return false;
}
}
{
ConformanceResourceStatus lhsStatus;
lhsStatus = this.getStatus();
ConformanceResourceStatus rhsStatus;
rhsStatus = that.getStatus();
if (!strategy.equals(LocatorUtils.property(thisLocator, "status", lhsStatus), LocatorUtils.property(thatLocator, "status", rhsStatus), lhsStatus, rhsStatus, (this.status!= null), (that.status!= null))) {
return false;
}
}
{
Boolean lhsExperimental;
lhsExperimental = this.getExperimental();
Boolean rhsExperimental;
rhsExperimental = that.getExperimental();
if (!strategy.equals(LocatorUtils.property(thisLocator, "experimental", lhsExperimental), LocatorUtils.property(thatLocator, "experimental", rhsExperimental), lhsExperimental, rhsExperimental, (this.experimental!= null), (that.experimental!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsPublisher;
lhsPublisher = this.getPublisher();
org.hl7.fhir.String rhsPublisher;
rhsPublisher = that.getPublisher();
if (!strategy.equals(LocatorUtils.property(thisLocator, "publisher", lhsPublisher), LocatorUtils.property(thatLocator, "publisher", rhsPublisher), lhsPublisher, rhsPublisher, (this.publisher!= null), (that.publisher!= null))) {
return false;
}
}
{
List lhsContact;
lhsContact = (((this.contact!= null)&&(!this.contact.isEmpty()))?this.getContact():null);
List rhsContact;
rhsContact = (((that.contact!= null)&&(!that.contact.isEmpty()))?that.getContact():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "contact", lhsContact), LocatorUtils.property(thatLocator, "contact", rhsContact), lhsContact, rhsContact, ((this.contact!= null)&&(!this.contact.isEmpty())), ((that.contact!= null)&&(!that.contact.isEmpty())))) {
return false;
}
}
{
DateTime lhsDate;
lhsDate = this.getDate();
DateTime rhsDate;
rhsDate = that.getDate();
if (!strategy.equals(LocatorUtils.property(thisLocator, "date", lhsDate), LocatorUtils.property(thatLocator, "date", rhsDate), lhsDate, rhsDate, (this.date!= null), (that.date!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsDescription;
lhsDescription = this.getDescription();
org.hl7.fhir.String rhsDescription;
rhsDescription = that.getDescription();
if (!strategy.equals(LocatorUtils.property(thisLocator, "description", lhsDescription), LocatorUtils.property(thatLocator, "description", rhsDescription), lhsDescription, rhsDescription, (this.description!= null), (that.description!= null))) {
return false;
}
}
{
List lhsUseContext;
lhsUseContext = (((this.useContext!= null)&&(!this.useContext.isEmpty()))?this.getUseContext():null);
List rhsUseContext;
rhsUseContext = (((that.useContext!= null)&&(!that.useContext.isEmpty()))?that.getUseContext():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "useContext", lhsUseContext), LocatorUtils.property(thatLocator, "useContext", rhsUseContext), lhsUseContext, rhsUseContext, ((this.useContext!= null)&&(!this.useContext.isEmpty())), ((that.useContext!= null)&&(!that.useContext.isEmpty())))) {
return false;
}
}
{
org.hl7.fhir.String lhsRequirements;
lhsRequirements = this.getRequirements();
org.hl7.fhir.String rhsRequirements;
rhsRequirements = that.getRequirements();
if (!strategy.equals(LocatorUtils.property(thisLocator, "requirements", lhsRequirements), LocatorUtils.property(thatLocator, "requirements", rhsRequirements), lhsRequirements, rhsRequirements, (this.requirements!= null), (that.requirements!= null))) {
return false;
}
}
{
org.hl7.fhir.String lhsCopyright;
lhsCopyright = this.getCopyright();
org.hl7.fhir.String rhsCopyright;
rhsCopyright = that.getCopyright();
if (!strategy.equals(LocatorUtils.property(thisLocator, "copyright", lhsCopyright), LocatorUtils.property(thatLocator, "copyright", rhsCopyright), lhsCopyright, rhsCopyright, (this.copyright!= null), (that.copyright!= null))) {
return false;
}
}
{
List lhsCode;
lhsCode = (((this.code!= null)&&(!this.code.isEmpty()))?this.getCode():null);
List rhsCode;
rhsCode = (((that.code!= null)&&(!that.code.isEmpty()))?that.getCode():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "code", lhsCode), LocatorUtils.property(thatLocator, "code", rhsCode), lhsCode, rhsCode, ((this.code!= null)&&(!this.code.isEmpty())), ((that.code!= null)&&(!that.code.isEmpty())))) {
return false;
}
}
{
Id lhsFhirVersion;
lhsFhirVersion = this.getFhirVersion();
Id rhsFhirVersion;
rhsFhirVersion = that.getFhirVersion();
if (!strategy.equals(LocatorUtils.property(thisLocator, "fhirVersion", lhsFhirVersion), LocatorUtils.property(thatLocator, "fhirVersion", rhsFhirVersion), lhsFhirVersion, rhsFhirVersion, (this.fhirVersion!= null), (that.fhirVersion!= null))) {
return false;
}
}
{
List lhsMapping;
lhsMapping = (((this.mapping!= null)&&(!this.mapping.isEmpty()))?this.getMapping():null);
List rhsMapping;
rhsMapping = (((that.mapping!= null)&&(!that.mapping.isEmpty()))?that.getMapping():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "mapping", lhsMapping), LocatorUtils.property(thatLocator, "mapping", rhsMapping), lhsMapping, rhsMapping, ((this.mapping!= null)&&(!this.mapping.isEmpty())), ((that.mapping!= null)&&(!that.mapping.isEmpty())))) {
return false;
}
}
{
StructureDefinitionKind lhsKind;
lhsKind = this.getKind();
StructureDefinitionKind rhsKind;
rhsKind = that.getKind();
if (!strategy.equals(LocatorUtils.property(thisLocator, "kind", lhsKind), LocatorUtils.property(thatLocator, "kind", rhsKind), lhsKind, rhsKind, (this.kind!= null), (that.kind!= null))) {
return false;
}
}
{
Boolean lhsAbstract;
lhsAbstract = this.getAbstract();
Boolean rhsAbstract;
rhsAbstract = that.getAbstract();
if (!strategy.equals(LocatorUtils.property(thisLocator, "_abstract", lhsAbstract), LocatorUtils.property(thatLocator, "_abstract", rhsAbstract), lhsAbstract, rhsAbstract, (this._abstract!= null), (that._abstract!= null))) {
return false;
}
}
{
ExtensionContext lhsContextType;
lhsContextType = this.getContextType();
ExtensionContext rhsContextType;
rhsContextType = that.getContextType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "contextType", lhsContextType), LocatorUtils.property(thatLocator, "contextType", rhsContextType), lhsContextType, rhsContextType, (this.contextType!= null), (that.contextType!= null))) {
return false;
}
}
{
List lhsContext;
lhsContext = (((this.context!= null)&&(!this.context.isEmpty()))?this.getContext():null);
List rhsContext;
rhsContext = (((that.context!= null)&&(!that.context.isEmpty()))?that.getContext():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "context", lhsContext), LocatorUtils.property(thatLocator, "context", rhsContext), lhsContext, rhsContext, ((this.context!= null)&&(!this.context.isEmpty())), ((that.context!= null)&&(!that.context.isEmpty())))) {
return false;
}
}
{
Code lhsBaseType;
lhsBaseType = this.getBaseType();
Code rhsBaseType;
rhsBaseType = that.getBaseType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "baseType", lhsBaseType), LocatorUtils.property(thatLocator, "baseType", rhsBaseType), lhsBaseType, rhsBaseType, (this.baseType!= null), (that.baseType!= null))) {
return false;
}
}
{
Uri lhsBaseDefinition;
lhsBaseDefinition = this.getBaseDefinition();
Uri rhsBaseDefinition;
rhsBaseDefinition = that.getBaseDefinition();
if (!strategy.equals(LocatorUtils.property(thisLocator, "baseDefinition", lhsBaseDefinition), LocatorUtils.property(thatLocator, "baseDefinition", rhsBaseDefinition), lhsBaseDefinition, rhsBaseDefinition, (this.baseDefinition!= null), (that.baseDefinition!= null))) {
return false;
}
}
{
TypeDerivationRule lhsDerivation;
lhsDerivation = this.getDerivation();
TypeDerivationRule rhsDerivation;
rhsDerivation = that.getDerivation();
if (!strategy.equals(LocatorUtils.property(thisLocator, "derivation", lhsDerivation), LocatorUtils.property(thatLocator, "derivation", rhsDerivation), lhsDerivation, rhsDerivation, (this.derivation!= null), (that.derivation!= null))) {
return false;
}
}
{
StructureDefinitionSnapshot lhsSnapshot;
lhsSnapshot = this.getSnapshot();
StructureDefinitionSnapshot rhsSnapshot;
rhsSnapshot = that.getSnapshot();
if (!strategy.equals(LocatorUtils.property(thisLocator, "snapshot", lhsSnapshot), LocatorUtils.property(thatLocator, "snapshot", rhsSnapshot), lhsSnapshot, rhsSnapshot, (this.snapshot!= null), (that.snapshot!= null))) {
return false;
}
}
{
StructureDefinitionDifferential lhsDifferential;
lhsDifferential = this.getDifferential();
StructureDefinitionDifferential rhsDifferential;
rhsDifferential = that.getDifferential();
if (!strategy.equals(LocatorUtils.property(thisLocator, "differential", lhsDifferential), LocatorUtils.property(thatLocator, "differential", rhsDifferential), lhsDifferential, rhsDifferential, (this.differential!= null), (that.differential!= 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);
{
Uri theUrl;
theUrl = this.getUrl();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "url", theUrl), currentHashCode, theUrl, (this.url!= null));
}
{
List theIdentifier;
theIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "identifier", theIdentifier), currentHashCode, theIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())));
}
{
org.hl7.fhir.String theVersion;
theVersion = this.getVersion();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "version", theVersion), currentHashCode, theVersion, (this.version!= null));
}
{
org.hl7.fhir.String theName;
theName = this.getName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, (this.name!= null));
}
{
org.hl7.fhir.String theDisplay;
theDisplay = this.getDisplay();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "display", theDisplay), currentHashCode, theDisplay, (this.display!= null));
}
{
ConformanceResourceStatus theStatus;
theStatus = this.getStatus();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "status", theStatus), currentHashCode, theStatus, (this.status!= null));
}
{
Boolean theExperimental;
theExperimental = this.getExperimental();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "experimental", theExperimental), currentHashCode, theExperimental, (this.experimental!= null));
}
{
org.hl7.fhir.String thePublisher;
thePublisher = this.getPublisher();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "publisher", thePublisher), currentHashCode, thePublisher, (this.publisher!= null));
}
{
List theContact;
theContact = (((this.contact!= null)&&(!this.contact.isEmpty()))?this.getContact():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contact", theContact), currentHashCode, theContact, ((this.contact!= null)&&(!this.contact.isEmpty())));
}
{
DateTime theDate;
theDate = this.getDate();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "date", theDate), currentHashCode, theDate, (this.date!= null));
}
{
org.hl7.fhir.String theDescription;
theDescription = this.getDescription();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "description", theDescription), currentHashCode, theDescription, (this.description!= null));
}
{
List theUseContext;
theUseContext = (((this.useContext!= null)&&(!this.useContext.isEmpty()))?this.getUseContext():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "useContext", theUseContext), currentHashCode, theUseContext, ((this.useContext!= null)&&(!this.useContext.isEmpty())));
}
{
org.hl7.fhir.String theRequirements;
theRequirements = this.getRequirements();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "requirements", theRequirements), currentHashCode, theRequirements, (this.requirements!= null));
}
{
org.hl7.fhir.String theCopyright;
theCopyright = this.getCopyright();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "copyright", theCopyright), currentHashCode, theCopyright, (this.copyright!= null));
}
{
List theCode;
theCode = (((this.code!= null)&&(!this.code.isEmpty()))?this.getCode():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "code", theCode), currentHashCode, theCode, ((this.code!= null)&&(!this.code.isEmpty())));
}
{
Id theFhirVersion;
theFhirVersion = this.getFhirVersion();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "fhirVersion", theFhirVersion), currentHashCode, theFhirVersion, (this.fhirVersion!= null));
}
{
List theMapping;
theMapping = (((this.mapping!= null)&&(!this.mapping.isEmpty()))?this.getMapping():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mapping", theMapping), currentHashCode, theMapping, ((this.mapping!= null)&&(!this.mapping.isEmpty())));
}
{
StructureDefinitionKind theKind;
theKind = this.getKind();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "kind", theKind), currentHashCode, theKind, (this.kind!= null));
}
{
Boolean theAbstract;
theAbstract = this.getAbstract();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "_abstract", theAbstract), currentHashCode, theAbstract, (this._abstract!= null));
}
{
ExtensionContext theContextType;
theContextType = this.getContextType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contextType", theContextType), currentHashCode, theContextType, (this.contextType!= null));
}
{
List theContext;
theContext = (((this.context!= null)&&(!this.context.isEmpty()))?this.getContext():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "context", theContext), currentHashCode, theContext, ((this.context!= null)&&(!this.context.isEmpty())));
}
{
Code theBaseType;
theBaseType = this.getBaseType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "baseType", theBaseType), currentHashCode, theBaseType, (this.baseType!= null));
}
{
Uri theBaseDefinition;
theBaseDefinition = this.getBaseDefinition();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "baseDefinition", theBaseDefinition), currentHashCode, theBaseDefinition, (this.baseDefinition!= null));
}
{
TypeDerivationRule theDerivation;
theDerivation = this.getDerivation();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "derivation", theDerivation), currentHashCode, theDerivation, (this.derivation!= null));
}
{
StructureDefinitionSnapshot theSnapshot;
theSnapshot = this.getSnapshot();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "snapshot", theSnapshot), currentHashCode, theSnapshot, (this.snapshot!= null));
}
{
StructureDefinitionDifferential theDifferential;
theDifferential = this.getDifferential();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "differential", theDifferential), currentHashCode, theDifferential, (this.differential!= 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);
{
Uri theUrl;
theUrl = this.getUrl();
strategy.appendField(locator, this, "url", buffer, theUrl, (this.url!= null));
}
{
List theIdentifier;
theIdentifier = (((this.identifier!= null)&&(!this.identifier.isEmpty()))?this.getIdentifier():null);
strategy.appendField(locator, this, "identifier", buffer, theIdentifier, ((this.identifier!= null)&&(!this.identifier.isEmpty())));
}
{
org.hl7.fhir.String theVersion;
theVersion = this.getVersion();
strategy.appendField(locator, this, "version", buffer, theVersion, (this.version!= null));
}
{
org.hl7.fhir.String theName;
theName = this.getName();
strategy.appendField(locator, this, "name", buffer, theName, (this.name!= null));
}
{
org.hl7.fhir.String theDisplay;
theDisplay = this.getDisplay();
strategy.appendField(locator, this, "display", buffer, theDisplay, (this.display!= null));
}
{
ConformanceResourceStatus theStatus;
theStatus = this.getStatus();
strategy.appendField(locator, this, "status", buffer, theStatus, (this.status!= null));
}
{
Boolean theExperimental;
theExperimental = this.getExperimental();
strategy.appendField(locator, this, "experimental", buffer, theExperimental, (this.experimental!= null));
}
{
org.hl7.fhir.String thePublisher;
thePublisher = this.getPublisher();
strategy.appendField(locator, this, "publisher", buffer, thePublisher, (this.publisher!= null));
}
{
List theContact;
theContact = (((this.contact!= null)&&(!this.contact.isEmpty()))?this.getContact():null);
strategy.appendField(locator, this, "contact", buffer, theContact, ((this.contact!= null)&&(!this.contact.isEmpty())));
}
{
DateTime theDate;
theDate = this.getDate();
strategy.appendField(locator, this, "date", buffer, theDate, (this.date!= null));
}
{
org.hl7.fhir.String theDescription;
theDescription = this.getDescription();
strategy.appendField(locator, this, "description", buffer, theDescription, (this.description!= null));
}
{
List theUseContext;
theUseContext = (((this.useContext!= null)&&(!this.useContext.isEmpty()))?this.getUseContext():null);
strategy.appendField(locator, this, "useContext", buffer, theUseContext, ((this.useContext!= null)&&(!this.useContext.isEmpty())));
}
{
org.hl7.fhir.String theRequirements;
theRequirements = this.getRequirements();
strategy.appendField(locator, this, "requirements", buffer, theRequirements, (this.requirements!= null));
}
{
org.hl7.fhir.String theCopyright;
theCopyright = this.getCopyright();
strategy.appendField(locator, this, "copyright", buffer, theCopyright, (this.copyright!= null));
}
{
List theCode;
theCode = (((this.code!= null)&&(!this.code.isEmpty()))?this.getCode():null);
strategy.appendField(locator, this, "code", buffer, theCode, ((this.code!= null)&&(!this.code.isEmpty())));
}
{
Id theFhirVersion;
theFhirVersion = this.getFhirVersion();
strategy.appendField(locator, this, "fhirVersion", buffer, theFhirVersion, (this.fhirVersion!= null));
}
{
List theMapping;
theMapping = (((this.mapping!= null)&&(!this.mapping.isEmpty()))?this.getMapping():null);
strategy.appendField(locator, this, "mapping", buffer, theMapping, ((this.mapping!= null)&&(!this.mapping.isEmpty())));
}
{
StructureDefinitionKind theKind;
theKind = this.getKind();
strategy.appendField(locator, this, "kind", buffer, theKind, (this.kind!= null));
}
{
Boolean theAbstract;
theAbstract = this.getAbstract();
strategy.appendField(locator, this, "_abstract", buffer, theAbstract, (this._abstract!= null));
}
{
ExtensionContext theContextType;
theContextType = this.getContextType();
strategy.appendField(locator, this, "contextType", buffer, theContextType, (this.contextType!= null));
}
{
List theContext;
theContext = (((this.context!= null)&&(!this.context.isEmpty()))?this.getContext():null);
strategy.appendField(locator, this, "context", buffer, theContext, ((this.context!= null)&&(!this.context.isEmpty())));
}
{
Code theBaseType;
theBaseType = this.getBaseType();
strategy.appendField(locator, this, "baseType", buffer, theBaseType, (this.baseType!= null));
}
{
Uri theBaseDefinition;
theBaseDefinition = this.getBaseDefinition();
strategy.appendField(locator, this, "baseDefinition", buffer, theBaseDefinition, (this.baseDefinition!= null));
}
{
TypeDerivationRule theDerivation;
theDerivation = this.getDerivation();
strategy.appendField(locator, this, "derivation", buffer, theDerivation, (this.derivation!= null));
}
{
StructureDefinitionSnapshot theSnapshot;
theSnapshot = this.getSnapshot();
strategy.appendField(locator, this, "snapshot", buffer, theSnapshot, (this.snapshot!= null));
}
{
StructureDefinitionDifferential theDifferential;
theDifferential = this.getDifferential();
strategy.appendField(locator, this, "differential", buffer, theDifferential, (this.differential!= null));
}
return buffer;
}
public void setIdentifier(List value) {
this.identifier = value;
}
public void setContact(List value) {
this.contact = value;
}
public void setUseContext(List value) {
this.useContext = value;
}
public void setCode(List value) {
this.code = value;
}
public void setMapping(List value) {
this.mapping = value;
}
public void setContext(List value) {
this.context = value;
}
}