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

org.cqframework.cql.elm.execution.ParameterDef 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 ParameterDef type defines a parameter that can be referenced by name anywhere within an expression. Parameters are defined at the artifact level, and may be provided as part of the payload for an evaluation request. If no parameter value is provided, the default element is used to provide the value for the parameter. If no parameter or default is provided, the parameter is defined to be null.
 * 
 * 

Java class for ParameterDef complex type. * *

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

 * <complexType name="ParameterDef">
 *   <complexContent>
 *     <extension base="{urn:hl7-org:elm:r1}Element">
 *       <sequence>
 *         <element name="default" type="{urn:hl7-org:elm:r1}Expression" minOccurs="0"/>
 *         <element name="parameterTypeSpecifier" type="{urn:hl7-org:elm:r1}TypeSpecifier" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="parameterType" type="{http://www.w3.org/2001/XMLSchema}QName" />
 *       <attribute name="accessLevel" type="{urn:hl7-org:elm:r1}AccessModifier" default="Public" />
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ParameterDef", namespace = "urn:hl7-org:elm:r1", propOrder = { "_default", "parameterTypeSpecifier" }) public class ParameterDef extends Element implements Equals, HashCode, ToString { @XmlElement(name = "default", namespace = "urn:hl7-org:elm:r1") protected Expression _default; @XmlElement(namespace = "urn:hl7-org:elm:r1") protected TypeSpecifier parameterTypeSpecifier; @XmlAttribute(name = "name") protected String name; @XmlAttribute(name = "parameterType") protected QName parameterType; @XmlAttribute(name = "accessLevel") protected AccessModifier accessLevel; /** * Gets the value of the default property. * * @return * possible object is * {@link Expression } * */ public Expression getDefault() { return _default; } /** * Sets the value of the default property. * * @param value * allowed object is * {@link Expression } * */ public void setDefault(Expression value) { this._default = value; } /** * Gets the value of the parameterTypeSpecifier property. * * @return * possible object is * {@link TypeSpecifier } * */ public TypeSpecifier getParameterTypeSpecifier() { return parameterTypeSpecifier; } /** * Sets the value of the parameterTypeSpecifier property. * * @param value * allowed object is * {@link TypeSpecifier } * */ public void setParameterTypeSpecifier(TypeSpecifier value) { this.parameterTypeSpecifier = 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 parameterType property. * * @return * possible object is * {@link QName } * */ public QName getParameterType() { return parameterType; } /** * Sets the value of the parameterType property. * * @param value * allowed object is * {@link QName } * */ public void setParameterType(QName value) { this.parameterType = 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 ParameterDef withDefault(Expression value) { setDefault(value); return this; } public ParameterDef withParameterTypeSpecifier(TypeSpecifier value) { setParameterTypeSpecifier(value); return this; } public ParameterDef withName(String value) { setName(value); return this; } public ParameterDef withParameterType(QName value) { setParameterType(value); return this; } public ParameterDef withAccessLevel(AccessModifier value) { setAccessLevel(value); return this; } @Override public ParameterDef withAnnotation(Object... values) { if (values!= null) { for (Object value: values) { getAnnotation().add(value); } } return this; } @Override public ParameterDef withAnnotation(Collection values) { if (values!= null) { getAnnotation().addAll(values); } return this; } @Override public ParameterDef withResultTypeSpecifier(TypeSpecifier value) { setResultTypeSpecifier(value); return this; } @Override public ParameterDef withLocalId(String value) { setLocalId(value); return this; } @Override public ParameterDef withLocator(String value) { setLocator(value); return this; } @Override public ParameterDef withResultTypeName(QName value) { setResultTypeName(value); return this; } public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) { if (!(object instanceof ParameterDef)) { return false; } if (this == object) { return true; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final ParameterDef that = ((ParameterDef) object); { Expression lhsDefault; lhsDefault = this.getDefault(); Expression rhsDefault; rhsDefault = that.getDefault(); if (!strategy.equals(LocatorUtils.property(thisLocator, "_default", lhsDefault), LocatorUtils.property(thatLocator, "_default", rhsDefault), lhsDefault, rhsDefault)) { return false; } } { TypeSpecifier lhsParameterTypeSpecifier; lhsParameterTypeSpecifier = this.getParameterTypeSpecifier(); TypeSpecifier rhsParameterTypeSpecifier; rhsParameterTypeSpecifier = that.getParameterTypeSpecifier(); if (!strategy.equals(LocatorUtils.property(thisLocator, "parameterTypeSpecifier", lhsParameterTypeSpecifier), LocatorUtils.property(thatLocator, "parameterTypeSpecifier", rhsParameterTypeSpecifier), lhsParameterTypeSpecifier, rhsParameterTypeSpecifier)) { 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)) { return false; } } { QName lhsParameterType; lhsParameterType = this.getParameterType(); QName rhsParameterType; rhsParameterType = that.getParameterType(); if (!strategy.equals(LocatorUtils.property(thisLocator, "parameterType", lhsParameterType), LocatorUtils.property(thatLocator, "parameterType", rhsParameterType), lhsParameterType, rhsParameterType)) { 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)) { 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 theDefault; theDefault = this.getDefault(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "_default", theDefault), currentHashCode, theDefault); } { TypeSpecifier theParameterTypeSpecifier; theParameterTypeSpecifier = this.getParameterTypeSpecifier(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parameterTypeSpecifier", theParameterTypeSpecifier), currentHashCode, theParameterTypeSpecifier); } { String theName; theName = this.getName(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName); } { QName theParameterType; theParameterType = this.getParameterType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parameterType", theParameterType), currentHashCode, theParameterType); } { AccessModifier theAccessLevel; theAccessLevel = this.getAccessLevel(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "accessLevel", theAccessLevel), currentHashCode, theAccessLevel); } 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 theDefault; theDefault = this.getDefault(); strategy.appendField(locator, this, "_default", buffer, theDefault); } { TypeSpecifier theParameterTypeSpecifier; theParameterTypeSpecifier = this.getParameterTypeSpecifier(); strategy.appendField(locator, this, "parameterTypeSpecifier", buffer, theParameterTypeSpecifier); } { String theName; theName = this.getName(); strategy.appendField(locator, this, "name", buffer, theName); } { QName theParameterType; theParameterType = this.getParameterType(); strategy.appendField(locator, this, "parameterType", buffer, theParameterType); } { AccessModifier theAccessLevel; theAccessLevel = this.getAccessLevel(); strategy.appendField(locator, this, "accessLevel", buffer, theAccessLevel); } return buffer; } }