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