All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cqframework.cql.elm.execution.Retrieve Maven / Gradle / Ivy

There is a newer version: 1.5.4
Show newest version
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
// See https://javaee.github.io/jaxb-v2/ 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2020.09.30 at 08:06:11 PM UTC 
//


package org.cqframework.cql.elm.execution;

import java.util.Collection;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
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;


/**
 * The retrieve expression defines clinical data that will be used by the artifact. This expression allows clinically relevant filtering criteria to be provided in a well-defined and computable way. This operation defines the integration boundary for artifacts. The result of a retrieve is defined to return the same data for subsequent invocations within the same evaluation request. This means in particular that patient data updates made during the evaluation request are not visible to the artifact. In effect, the patient data is a snapshot of the data as of the start of the evaluation. This ensures strict deterministic and functional behavior of the artifact, and allows the implementation engine freedom to cache intermediate results in order to improve performance.
 * 
 * 

Java class for Retrieve complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType name="Retrieve">
 *   <complexContent>
 *     <extension base="{urn:hl7-org:elm:r1}Expression">
 *       <sequence>
 *         <element name="codes" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
 *         <element name="dateRange" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
 *         <element name="context" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="dataType" use="required" type="{http://www.w3.org/2001/XMLSchema}QName" />
 *       <attribute name="templateId" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="idProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="codeProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="valueSetProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="dateProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="dateLowProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="dateHighProperty" type="{http://www.w3.org/2001/XMLSchema}string" />
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Retrieve", namespace = "urn:hl7-org:elm:r1", propOrder = { "codes", "dateRange", "context" }) @SuppressWarnings({ "all" }) public class Retrieve extends Expression implements Equals2, HashCode2, ToString2 { @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression codes; @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression dateRange; @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression context; @XmlAttribute(name = "dataType", required = true) protected QName dataType; @XmlAttribute(name = "templateId") protected String templateId; @XmlAttribute(name = "idProperty") protected String idProperty; @XmlAttribute(name = "codeProperty") protected String codeProperty; @XmlAttribute(name = "valueSetProperty") protected String valueSetProperty; @XmlAttribute(name = "dateProperty") protected String dateProperty; @XmlAttribute(name = "dateLowProperty") protected String dateLowProperty; @XmlAttribute(name = "dateHighProperty") protected String dateHighProperty; /** * Gets the value of the codes property. * * @return * possible object is * {@link Expression } * */ public Expression getCodes() { return codes; } /** * Sets the value of the codes property. * * @param value * allowed object is * {@link Expression } * */ public void setCodes(Expression value) { this.codes = value; } /** * Gets the value of the dateRange property. * * @return * possible object is * {@link Expression } * */ public Expression getDateRange() { return dateRange; } /** * Sets the value of the dateRange property. * * @param value * allowed object is * {@link Expression } * */ public void setDateRange(Expression value) { this.dateRange = value; } /** * Gets the value of the context property. * * @return * possible object is * {@link Expression } * */ public Expression getContext() { return context; } /** * Sets the value of the context property. * * @param value * allowed object is * {@link Expression } * */ public void setContext(Expression value) { this.context = value; } /** * Gets the value of the dataType property. * * @return * possible object is * {@link QName } * */ public QName getDataType() { return dataType; } /** * Sets the value of the dataType property. * * @param value * allowed object is * {@link QName } * */ public void setDataType(QName value) { this.dataType = value; } /** * Gets the value of the templateId property. * * @return * possible object is * {@link String } * */ public String getTemplateId() { return templateId; } /** * Sets the value of the templateId property. * * @param value * allowed object is * {@link String } * */ public void setTemplateId(String value) { this.templateId = value; } /** * Gets the value of the idProperty property. * * @return * possible object is * {@link String } * */ public String getIdProperty() { return idProperty; } /** * Sets the value of the idProperty property. * * @param value * allowed object is * {@link String } * */ public void setIdProperty(String value) { this.idProperty = value; } /** * Gets the value of the codeProperty property. * * @return * possible object is * {@link String } * */ public String getCodeProperty() { return codeProperty; } /** * Sets the value of the codeProperty property. * * @param value * allowed object is * {@link String } * */ public void setCodeProperty(String value) { this.codeProperty = value; } /** * Gets the value of the valueSetProperty property. * * @return * possible object is * {@link String } * */ public String getValueSetProperty() { return valueSetProperty; } /** * Sets the value of the valueSetProperty property. * * @param value * allowed object is * {@link String } * */ public void setValueSetProperty(String value) { this.valueSetProperty = value; } /** * Gets the value of the dateProperty property. * * @return * possible object is * {@link String } * */ public String getDateProperty() { return dateProperty; } /** * Sets the value of the dateProperty property. * * @param value * allowed object is * {@link String } * */ public void setDateProperty(String value) { this.dateProperty = value; } /** * Gets the value of the dateLowProperty property. * * @return * possible object is * {@link String } * */ public String getDateLowProperty() { return dateLowProperty; } /** * Sets the value of the dateLowProperty property. * * @param value * allowed object is * {@link String } * */ public void setDateLowProperty(String value) { this.dateLowProperty = value; } /** * Gets the value of the dateHighProperty property. * * @return * possible object is * {@link String } * */ public String getDateHighProperty() { return dateHighProperty; } /** * Sets the value of the dateHighProperty property. * * @param value * allowed object is * {@link String } * */ public void setDateHighProperty(String value) { this.dateHighProperty = value; } public Retrieve withCodes(Expression value) { setCodes(value); return this; } public Retrieve withDateRange(Expression value) { setDateRange(value); return this; } public Retrieve withContext(Expression value) { setContext(value); return this; } public Retrieve withDataType(QName value) { setDataType(value); return this; } public Retrieve withTemplateId(String value) { setTemplateId(value); return this; } public Retrieve withIdProperty(String value) { setIdProperty(value); return this; } public Retrieve withCodeProperty(String value) { setCodeProperty(value); return this; } public Retrieve withValueSetProperty(String value) { setValueSetProperty(value); return this; } public Retrieve withDateProperty(String value) { setDateProperty(value); return this; } public Retrieve withDateLowProperty(String value) { setDateLowProperty(value); return this; } public Retrieve withDateHighProperty(String value) { setDateHighProperty(value); return this; } @Override public Retrieve withAnnotation(Object... values) { if (values!= null) { for (Object value: values) { getAnnotation().add(value); } } return this; } @Override public Retrieve withAnnotation(Collection values) { if (values!= null) { getAnnotation().addAll(values); } return this; } @Override public Retrieve withResultTypeSpecifier(TypeSpecifier value) { setResultTypeSpecifier(value); return this; } @Override public Retrieve withLocalId(String value) { setLocalId(value); return this; } @Override public Retrieve withLocator(String value) { setLocator(value); return this; } @Override public Retrieve withResultTypeName(QName value) { setResultTypeName(value); return this; } 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 Retrieve that = ((Retrieve) object); { Expression lhsCodes; lhsCodes = this.getCodes(); Expression rhsCodes; rhsCodes = that.getCodes(); if (!strategy.equals(LocatorUtils.property(thisLocator, "codes", lhsCodes), LocatorUtils.property(thatLocator, "codes", rhsCodes), lhsCodes, rhsCodes, (this.codes!= null), (that.codes!= null))) { return false; } } { Expression lhsDateRange; lhsDateRange = this.getDateRange(); Expression rhsDateRange; rhsDateRange = that.getDateRange(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateRange", lhsDateRange), LocatorUtils.property(thatLocator, "dateRange", rhsDateRange), lhsDateRange, rhsDateRange, (this.dateRange!= null), (that.dateRange!= null))) { return false; } } { Expression lhsContext; lhsContext = this.getContext(); Expression rhsContext; rhsContext = that.getContext(); if (!strategy.equals(LocatorUtils.property(thisLocator, "context", lhsContext), LocatorUtils.property(thatLocator, "context", rhsContext), lhsContext, rhsContext, (this.context!= null), (that.context!= null))) { return false; } } { QName lhsDataType; lhsDataType = this.getDataType(); QName rhsDataType; rhsDataType = that.getDataType(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dataType", lhsDataType), LocatorUtils.property(thatLocator, "dataType", rhsDataType), lhsDataType, rhsDataType, (this.dataType!= null), (that.dataType!= null))) { return false; } } { String lhsTemplateId; lhsTemplateId = this.getTemplateId(); String rhsTemplateId; rhsTemplateId = that.getTemplateId(); if (!strategy.equals(LocatorUtils.property(thisLocator, "templateId", lhsTemplateId), LocatorUtils.property(thatLocator, "templateId", rhsTemplateId), lhsTemplateId, rhsTemplateId, (this.templateId!= null), (that.templateId!= null))) { return false; } } { String lhsIdProperty; lhsIdProperty = this.getIdProperty(); String rhsIdProperty; rhsIdProperty = that.getIdProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "idProperty", lhsIdProperty), LocatorUtils.property(thatLocator, "idProperty", rhsIdProperty), lhsIdProperty, rhsIdProperty, (this.idProperty!= null), (that.idProperty!= null))) { return false; } } { String lhsCodeProperty; lhsCodeProperty = this.getCodeProperty(); String rhsCodeProperty; rhsCodeProperty = that.getCodeProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "codeProperty", lhsCodeProperty), LocatorUtils.property(thatLocator, "codeProperty", rhsCodeProperty), lhsCodeProperty, rhsCodeProperty, (this.codeProperty!= null), (that.codeProperty!= null))) { return false; } } { String lhsValueSetProperty; lhsValueSetProperty = this.getValueSetProperty(); String rhsValueSetProperty; rhsValueSetProperty = that.getValueSetProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "valueSetProperty", lhsValueSetProperty), LocatorUtils.property(thatLocator, "valueSetProperty", rhsValueSetProperty), lhsValueSetProperty, rhsValueSetProperty, (this.valueSetProperty!= null), (that.valueSetProperty!= null))) { return false; } } { String lhsDateProperty; lhsDateProperty = this.getDateProperty(); String rhsDateProperty; rhsDateProperty = that.getDateProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateProperty", lhsDateProperty), LocatorUtils.property(thatLocator, "dateProperty", rhsDateProperty), lhsDateProperty, rhsDateProperty, (this.dateProperty!= null), (that.dateProperty!= null))) { return false; } } { String lhsDateLowProperty; lhsDateLowProperty = this.getDateLowProperty(); String rhsDateLowProperty; rhsDateLowProperty = that.getDateLowProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateLowProperty", lhsDateLowProperty), LocatorUtils.property(thatLocator, "dateLowProperty", rhsDateLowProperty), lhsDateLowProperty, rhsDateLowProperty, (this.dateLowProperty!= null), (that.dateLowProperty!= null))) { return false; } } { String lhsDateHighProperty; lhsDateHighProperty = this.getDateHighProperty(); String rhsDateHighProperty; rhsDateHighProperty = that.getDateHighProperty(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateHighProperty", lhsDateHighProperty), LocatorUtils.property(thatLocator, "dateHighProperty", rhsDateHighProperty), lhsDateHighProperty, rhsDateHighProperty, (this.dateHighProperty!= null), (that.dateHighProperty!= null))) { return false; } } return true; } public boolean equals(Object object) { final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE2; return equals(null, null, object, strategy); } public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) { int currentHashCode = super.hashCode(locator, strategy); { Expression theCodes; theCodes = this.getCodes(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "codes", theCodes), currentHashCode, theCodes, (this.codes!= null)); } { Expression theDateRange; theDateRange = this.getDateRange(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateRange", theDateRange), currentHashCode, theDateRange, (this.dateRange!= null)); } { Expression theContext; theContext = this.getContext(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "context", theContext), currentHashCode, theContext, (this.context!= null)); } { QName theDataType; theDataType = this.getDataType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataType", theDataType), currentHashCode, theDataType, (this.dataType!= null)); } { String theTemplateId; theTemplateId = this.getTemplateId(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "templateId", theTemplateId), currentHashCode, theTemplateId, (this.templateId!= null)); } { String theIdProperty; theIdProperty = this.getIdProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "idProperty", theIdProperty), currentHashCode, theIdProperty, (this.idProperty!= null)); } { String theCodeProperty; theCodeProperty = this.getCodeProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "codeProperty", theCodeProperty), currentHashCode, theCodeProperty, (this.codeProperty!= null)); } { String theValueSetProperty; theValueSetProperty = this.getValueSetProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueSetProperty", theValueSetProperty), currentHashCode, theValueSetProperty, (this.valueSetProperty!= null)); } { String theDateProperty; theDateProperty = this.getDateProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateProperty", theDateProperty), currentHashCode, theDateProperty, (this.dateProperty!= null)); } { String theDateLowProperty; theDateLowProperty = this.getDateLowProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateLowProperty", theDateLowProperty), currentHashCode, theDateLowProperty, (this.dateLowProperty!= null)); } { String theDateHighProperty; theDateHighProperty = this.getDateHighProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateHighProperty", theDateHighProperty), currentHashCode, theDateHighProperty, (this.dateHighProperty!= null)); } return currentHashCode; } public int hashCode() { final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE2; return this.hashCode(null, strategy); } public String toString() { final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE2; final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } 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; } public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { super.appendFields(locator, buffer, strategy); { Expression theCodes; theCodes = this.getCodes(); strategy.appendField(locator, this, "codes", buffer, theCodes, (this.codes!= null)); } { Expression theDateRange; theDateRange = this.getDateRange(); strategy.appendField(locator, this, "dateRange", buffer, theDateRange, (this.dateRange!= null)); } { Expression theContext; theContext = this.getContext(); strategy.appendField(locator, this, "context", buffer, theContext, (this.context!= null)); } { QName theDataType; theDataType = this.getDataType(); strategy.appendField(locator, this, "dataType", buffer, theDataType, (this.dataType!= null)); } { String theTemplateId; theTemplateId = this.getTemplateId(); strategy.appendField(locator, this, "templateId", buffer, theTemplateId, (this.templateId!= null)); } { String theIdProperty; theIdProperty = this.getIdProperty(); strategy.appendField(locator, this, "idProperty", buffer, theIdProperty, (this.idProperty!= null)); } { String theCodeProperty; theCodeProperty = this.getCodeProperty(); strategy.appendField(locator, this, "codeProperty", buffer, theCodeProperty, (this.codeProperty!= null)); } { String theValueSetProperty; theValueSetProperty = this.getValueSetProperty(); strategy.appendField(locator, this, "valueSetProperty", buffer, theValueSetProperty, (this.valueSetProperty!= null)); } { String theDateProperty; theDateProperty = this.getDateProperty(); strategy.appendField(locator, this, "dateProperty", buffer, theDateProperty, (this.dateProperty!= null)); } { String theDateLowProperty; theDateLowProperty = this.getDateLowProperty(); strategy.appendField(locator, this, "dateLowProperty", buffer, theDateLowProperty, (this.dateLowProperty!= null)); } { String theDateHighProperty; theDateHighProperty = this.getDateHighProperty(); strategy.appendField(locator, this, "dateHighProperty", buffer, theDateHighProperty, (this.dateHighProperty!= null)); } return buffer; } }