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

org.cqframework.cql.elm.execution.ExpressionDef 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.XmlSeeAlso;
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 ExpressionDef type defines an expression and an associated name that can be referenced by any expression in the artifact. The name must be unique within the artifact.
 * 			The context attribute specifies the context of the execution and is used by the environment to determine whether or not to filter the data returned from retrieves based on the current context.
 * 
 * 

Java class for ExpressionDef complex type. * *

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

 * <complexType name="ExpressionDef">
 *   <complexContent>
 *     <extension base="{urn:hl7-org:elm:r1}Element">
 *       <sequence>
 *         <element name="expression" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="context" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="accessLevel" type="{urn:hl7-org:elm:r1}AccessModifier" default="Public" />
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ExpressionDef", namespace = "urn:hl7-org:elm:r1", propOrder = { "expression" }) @XmlSeeAlso({ FunctionDef.class }) @SuppressWarnings({ "all" }) public class ExpressionDef extends Element implements Equals2, HashCode2, ToString2 { @XmlElement(namespace = "urn:hl7-org:elm:r1") protected Expression expression; @XmlAttribute(name = "name") protected String name; @XmlAttribute(name = "context") protected String context; @XmlAttribute(name = "accessLevel") protected AccessModifier accessLevel; /** * Gets the value of the expression property. * * @return * possible object is * {@link Expression } * */ public Expression getExpression() { return expression; } /** * Sets the value of the expression property. * * @param value * allowed object is * {@link Expression } * */ public void setExpression(Expression value) { this.expression = value; } /** * Gets the value of the name property. * * @return * possible object is * {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is * {@link String } * */ public void setName(String value) { this.name = value; } /** * Gets the value of the context property. * * @return * possible object is * {@link String } * */ public String getContext() { return context; } /** * Sets the value of the context property. * * @param value * allowed object is * {@link String } * */ public void setContext(String value) { this.context = value; } /** * Gets the value of the accessLevel property. * * @return * possible object is * {@link AccessModifier } * */ public AccessModifier getAccessLevel() { if (accessLevel == null) { return AccessModifier.PUBLIC; } else { return accessLevel; } } /** * Sets the value of the accessLevel property. * * @param value * allowed object is * {@link AccessModifier } * */ public void setAccessLevel(AccessModifier value) { this.accessLevel = value; } public ExpressionDef withExpression(Expression value) { setExpression(value); return this; } public ExpressionDef withName(String value) { setName(value); return this; } public ExpressionDef withContext(String value) { setContext(value); return this; } public ExpressionDef withAccessLevel(AccessModifier value) { setAccessLevel(value); return this; } @Override public ExpressionDef withAnnotation(Object... values) { if (values!= null) { for (Object value: values) { getAnnotation().add(value); } } return this; } @Override public ExpressionDef withAnnotation(Collection values) { if (values!= null) { getAnnotation().addAll(values); } return this; } @Override public ExpressionDef withResultTypeSpecifier(TypeSpecifier value) { setResultTypeSpecifier(value); return this; } @Override public ExpressionDef withLocalId(String value) { setLocalId(value); return this; } @Override public ExpressionDef withLocator(String value) { setLocator(value); return this; } @Override public ExpressionDef 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 ExpressionDef that = ((ExpressionDef) object); { Expression lhsExpression; lhsExpression = this.getExpression(); Expression rhsExpression; rhsExpression = that.getExpression(); if (!strategy.equals(LocatorUtils.property(thisLocator, "expression", lhsExpression), LocatorUtils.property(thatLocator, "expression", rhsExpression), lhsExpression, rhsExpression, (this.expression!= null), (that.expression!= null))) { return false; } } { String lhsName; lhsName = this.getName(); 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; } } { String lhsContext; lhsContext = this.getContext(); String 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; } } { AccessModifier lhsAccessLevel; lhsAccessLevel = this.getAccessLevel(); AccessModifier rhsAccessLevel; rhsAccessLevel = that.getAccessLevel(); if (!strategy.equals(LocatorUtils.property(thisLocator, "accessLevel", lhsAccessLevel), LocatorUtils.property(thatLocator, "accessLevel", rhsAccessLevel), lhsAccessLevel, rhsAccessLevel, (this.accessLevel!= null), (that.accessLevel!= 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 theExpression; theExpression = this.getExpression(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "expression", theExpression), currentHashCode, theExpression, (this.expression!= null)); } { String theName; theName = this.getName(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, (this.name!= null)); } { String theContext; theContext = this.getContext(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "context", theContext), currentHashCode, theContext, (this.context!= null)); } { AccessModifier theAccessLevel; theAccessLevel = this.getAccessLevel(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "accessLevel", theAccessLevel), currentHashCode, theAccessLevel, (this.accessLevel!= 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 theExpression; theExpression = this.getExpression(); strategy.appendField(locator, this, "expression", buffer, theExpression, (this.expression!= null)); } { String theName; theName = this.getName(); strategy.appendField(locator, this, "name", buffer, theName, (this.name!= null)); } { String theContext; theContext = this.getContext(); strategy.appendField(locator, this, "context", buffer, theContext, (this.context!= null)); } { AccessModifier theAccessLevel; theAccessLevel = this.getAccessLevel(); strategy.appendField(locator, this, "accessLevel", buffer, theAccessLevel, (this.accessLevel!= null)); } return buffer; } }