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.3.12.1
Show newest version
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 
// See http://java.sun.com/xml/jaxb 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2018.04.13 at 05:43:32 PM MDT 
//


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.Equals;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
import org.jvnet.jaxb2_commons.lang.HashCode;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
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.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
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"/>
 *       </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="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" />
 *       <attribute name="scope" 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" }) public class Retrieve extends Expression implements Equals, HashCode, ToString { @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression codes; @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression dateRange; @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 = "dateProperty") protected String dateProperty; @XmlAttribute(name = "dateLowProperty") protected String dateLowProperty; @XmlAttribute(name = "dateHighProperty") protected String dateHighProperty; @XmlAttribute(name = "scope") protected String scope; /** * 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 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 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; } /** * Gets the value of the scope property. * * @return * possible object is * {@link String } * */ public String getScope() { return scope; } /** * Sets the value of the scope property. * * @param value * allowed object is * {@link String } * */ public void setScope(String value) { this.scope = value; } public Retrieve withCodes(Expression value) { setCodes(value); return this; } public Retrieve withDateRange(Expression value) { setDateRange(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 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; } public Retrieve withScope(String value) { setScope(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, EqualsStrategy strategy) { if (!(object instanceof Retrieve)) { 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)) { 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)) { 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)) { 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)) { 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)) { 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)) { 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)) { 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)) { 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)) { return false; } } { String lhsScope; lhsScope = this.getScope(); String rhsScope; rhsScope = that.getScope(); if (!strategy.equals(LocatorUtils.property(thisLocator, "scope", lhsScope), LocatorUtils.property(thatLocator, "scope", rhsScope), lhsScope, rhsScope)) { return false; } } return true; } public boolean equals(Object object) { final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE; return equals(null, null, object, strategy); } public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) { int currentHashCode = super.hashCode(locator, strategy); { Expression theCodes; theCodes = this.getCodes(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "codes", theCodes), currentHashCode, theCodes); } { Expression theDateRange; theDateRange = this.getDateRange(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateRange", theDateRange), currentHashCode, theDateRange); } { QName theDataType; theDataType = this.getDataType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataType", theDataType), currentHashCode, theDataType); } { String theTemplateId; theTemplateId = this.getTemplateId(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "templateId", theTemplateId), currentHashCode, theTemplateId); } { String theIdProperty; theIdProperty = this.getIdProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "idProperty", theIdProperty), currentHashCode, theIdProperty); } { String theCodeProperty; theCodeProperty = this.getCodeProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "codeProperty", theCodeProperty), currentHashCode, theCodeProperty); } { String theDateProperty; theDateProperty = this.getDateProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateProperty", theDateProperty), currentHashCode, theDateProperty); } { String theDateLowProperty; theDateLowProperty = this.getDateLowProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateLowProperty", theDateLowProperty), currentHashCode, theDateLowProperty); } { String theDateHighProperty; theDateHighProperty = this.getDateHighProperty(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateHighProperty", theDateHighProperty), currentHashCode, theDateHighProperty); } { String theScope; theScope = this.getScope(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "scope", theScope), currentHashCode, theScope); } return currentHashCode; } public int hashCode() { final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE; return this.hashCode(null, strategy); } public String toString() { final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE; final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { super.appendFields(locator, buffer, strategy); { Expression theCodes; theCodes = this.getCodes(); strategy.appendField(locator, this, "codes", buffer, theCodes); } { Expression theDateRange; theDateRange = this.getDateRange(); strategy.appendField(locator, this, "dateRange", buffer, theDateRange); } { QName theDataType; theDataType = this.getDataType(); strategy.appendField(locator, this, "dataType", buffer, theDataType); } { String theTemplateId; theTemplateId = this.getTemplateId(); strategy.appendField(locator, this, "templateId", buffer, theTemplateId); } { String theIdProperty; theIdProperty = this.getIdProperty(); strategy.appendField(locator, this, "idProperty", buffer, theIdProperty); } { String theCodeProperty; theCodeProperty = this.getCodeProperty(); strategy.appendField(locator, this, "codeProperty", buffer, theCodeProperty); } { String theDateProperty; theDateProperty = this.getDateProperty(); strategy.appendField(locator, this, "dateProperty", buffer, theDateProperty); } { String theDateLowProperty; theDateLowProperty = this.getDateLowProperty(); strategy.appendField(locator, this, "dateLowProperty", buffer, theDateLowProperty); } { String theDateHighProperty; theDateHighProperty = this.getDateHighProperty(); strategy.appendField(locator, this, "dateHighProperty", buffer, theDateHighProperty); } { String theScope; theScope = this.getScope(); strategy.appendField(locator, this, "scope", buffer, theScope); } return buffer; } }