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

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

The 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: 2022.01.10 at 12:41:52 PM MST 
//


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 As operator allows the result of an expression to be cast as a given target type. This allows expressions to be written that are statically typed against the expected run-time type of the argument. If the argument is not of the specified type, and the strict attribute is false (the default), the result is null. If the argument is not of the specified type and the strict attribute is true, an exception is thrown.
 * 
 * 

Java class for As complex type. * *

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

 * <complexType name="As">
 *   <complexContent>
 *     <extension base="{urn:hl7-org:elm:r1}UnaryExpression">
 *       <sequence>
 *         <element name="asTypeSpecifier" type="{urn:hl7-org:elm:r1}TypeSpecifier" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="asType" type="{http://www.w3.org/2001/XMLSchema}QName" />
 *       <attribute name="strict" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 *     </extension>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "As", namespace = "urn:hl7-org:elm:r1", propOrder = { "asTypeSpecifier" }) @SuppressWarnings({ "all" }) public class As extends UnaryExpression implements Equals2, HashCode2, ToString2 { @XmlElement(namespace = "urn:hl7-org:elm:r1") protected TypeSpecifier asTypeSpecifier; @XmlAttribute(name = "asType") protected QName asType; @XmlAttribute(name = "strict") protected Boolean strict; /** * Gets the value of the asTypeSpecifier property. * * @return * possible object is * {@link TypeSpecifier } * */ public TypeSpecifier getAsTypeSpecifier() { return asTypeSpecifier; } /** * Sets the value of the asTypeSpecifier property. * * @param value * allowed object is * {@link TypeSpecifier } * */ public void setAsTypeSpecifier(TypeSpecifier value) { this.asTypeSpecifier = value; } /** * Gets the value of the asType property. * * @return * possible object is * {@link QName } * */ public QName getAsType() { return asType; } /** * Sets the value of the asType property. * * @param value * allowed object is * {@link QName } * */ public void setAsType(QName value) { this.asType = value; } /** * Gets the value of the strict property. * * @return * possible object is * {@link Boolean } * */ public boolean isStrict() { if (strict == null) { return false; } else { return strict; } } /** * Sets the value of the strict property. * * @param value * allowed object is * {@link Boolean } * */ public void setStrict(Boolean value) { this.strict = value; } public As withAsTypeSpecifier(TypeSpecifier value) { setAsTypeSpecifier(value); return this; } public As withAsType(QName value) { setAsType(value); return this; } public As withStrict(Boolean value) { setStrict(value); return this; } @Override public As withOperand(Expression value) { setOperand(value); return this; } @Override public As withSignature(TypeSpecifier... values) { if (values!= null) { for (TypeSpecifier value: values) { getSignature().add(value); } } return this; } @Override public As withSignature(Collection values) { if (values!= null) { getSignature().addAll(values); } return this; } @Override public As withAnnotation(Object... values) { if (values!= null) { for (Object value: values) { getAnnotation().add(value); } } return this; } @Override public As withAnnotation(Collection values) { if (values!= null) { getAnnotation().addAll(values); } return this; } @Override public As withResultTypeSpecifier(TypeSpecifier value) { setResultTypeSpecifier(value); return this; } @Override public As withLocalId(String value) { setLocalId(value); return this; } @Override public As withLocator(String value) { setLocator(value); return this; } @Override public As 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 As that = ((As) object); { TypeSpecifier lhsAsTypeSpecifier; lhsAsTypeSpecifier = this.getAsTypeSpecifier(); TypeSpecifier rhsAsTypeSpecifier; rhsAsTypeSpecifier = that.getAsTypeSpecifier(); if (!strategy.equals(LocatorUtils.property(thisLocator, "asTypeSpecifier", lhsAsTypeSpecifier), LocatorUtils.property(thatLocator, "asTypeSpecifier", rhsAsTypeSpecifier), lhsAsTypeSpecifier, rhsAsTypeSpecifier, (this.asTypeSpecifier!= null), (that.asTypeSpecifier!= null))) { return false; } } { QName lhsAsType; lhsAsType = this.getAsType(); QName rhsAsType; rhsAsType = that.getAsType(); if (!strategy.equals(LocatorUtils.property(thisLocator, "asType", lhsAsType), LocatorUtils.property(thatLocator, "asType", rhsAsType), lhsAsType, rhsAsType, (this.asType!= null), (that.asType!= null))) { return false; } } { boolean lhsStrict; lhsStrict = ((this.strict!= null)?this.isStrict():false); boolean rhsStrict; rhsStrict = ((that.strict!= null)?that.isStrict():false); if (!strategy.equals(LocatorUtils.property(thisLocator, "strict", lhsStrict), LocatorUtils.property(thatLocator, "strict", rhsStrict), lhsStrict, rhsStrict, (this.strict!= null), (that.strict!= 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); { TypeSpecifier theAsTypeSpecifier; theAsTypeSpecifier = this.getAsTypeSpecifier(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "asTypeSpecifier", theAsTypeSpecifier), currentHashCode, theAsTypeSpecifier, (this.asTypeSpecifier!= null)); } { QName theAsType; theAsType = this.getAsType(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "asType", theAsType), currentHashCode, theAsType, (this.asType!= null)); } { boolean theStrict; theStrict = ((this.strict!= null)?this.isStrict():false); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "strict", theStrict), currentHashCode, theStrict, (this.strict!= 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); { TypeSpecifier theAsTypeSpecifier; theAsTypeSpecifier = this.getAsTypeSpecifier(); strategy.appendField(locator, this, "asTypeSpecifier", buffer, theAsTypeSpecifier, (this.asTypeSpecifier!= null)); } { QName theAsType; theAsType = this.getAsType(); strategy.appendField(locator, this, "asType", buffer, theAsType, (this.asType!= null)); } { boolean theStrict; theStrict = ((this.strict!= null)?this.isStrict():false); strategy.appendField(locator, this, "strict", buffer, theStrict, (this.strict!= null)); } return buffer; } }