org.hl7.elm.r1.Convert Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elm Show documentation
Show all versions of elm Show documentation
The elm library for the Clinical Quality Language Java reference implementation
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.4.0-b180830.0438
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2023.08.24 at 01:22:35 PM MDT
//
package org.hl7.elm.r1;
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.hl7.cql_annotations.r1.CqlToElmBase;
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 Convert operator converts a value to a specific type. The result of the operator is the value of the argument converted to the target type, if possible.
*
* If no valid conversion exists from the actual value to the target type, the result is null.
*
* This operator supports conversion:
*
* Between String and each of Boolean, Integer, Long, Decimal, Quantity, Ratio, Date, DateTime, and Time
*
* as well as:
*
* From Integer to Long, Decimal or Quantity
* From Decimal to Quantity
* Between Date and DateTime
* From Code to Concept
* Between Concept and List
*
* Conversion between String and Date/DateTime/Time is performed using the ISO-8601 standard format: YYYY-MM-DDThh:mm:ss(+|-)hh:mm.
*
* Java class for Convert complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Convert">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}UnaryExpression">
* <sequence>
* <element name="toTypeSpecifier" type="{urn:hl7-org:elm:r1}TypeSpecifier" minOccurs="0"/>
* </sequence>
* <attribute name="toType" type="{http://www.w3.org/2001/XMLSchema}QName" />
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Convert", namespace = "urn:hl7-org:elm:r1", propOrder = {
"toTypeSpecifier"
})
public class Convert
extends UnaryExpression
implements Equals2, HashCode2, ToString2
{
@XmlElement(namespace = "urn:hl7-org:elm:r1")
protected TypeSpecifier toTypeSpecifier;
@XmlAttribute(name = "toType")
protected QName toType;
/**
* Gets the value of the toTypeSpecifier property.
*
* @return
* possible object is
* {@link TypeSpecifier }
*
*/
public TypeSpecifier getToTypeSpecifier() {
return toTypeSpecifier;
}
/**
* Sets the value of the toTypeSpecifier property.
*
* @param value
* allowed object is
* {@link TypeSpecifier }
*
*/
public void setToTypeSpecifier(TypeSpecifier value) {
this.toTypeSpecifier = value;
}
/**
* Gets the value of the toType property.
*
* @return
* possible object is
* {@link QName }
*
*/
public QName getToType() {
return toType;
}
/**
* Sets the value of the toType property.
*
* @param value
* allowed object is
* {@link QName }
*
*/
public void setToType(QName value) {
this.toType = value;
}
public Convert withToTypeSpecifier(TypeSpecifier value) {
setToTypeSpecifier(value);
return this;
}
public Convert withToType(QName value) {
setToType(value);
return this;
}
@Override
public Convert withOperand(Expression value) {
setOperand(value);
return this;
}
@Override
public Convert withSignature(TypeSpecifier... values) {
if (values!= null) {
for (TypeSpecifier value: values) {
getSignature().add(value);
}
}
return this;
}
@Override
public Convert withSignature(Collection values) {
if (values!= null) {
getSignature().addAll(values);
}
return this;
}
@Override
public Convert withAnnotation(CqlToElmBase... values) {
if (values!= null) {
for (CqlToElmBase value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public Convert withAnnotation(Collection values) {
if (values!= null) {
getAnnotation().addAll(values);
}
return this;
}
@Override
public Convert withResultTypeSpecifier(TypeSpecifier value) {
setResultTypeSpecifier(value);
return this;
}
@Override
public Convert withLocalId(String value) {
setLocalId(value);
return this;
}
@Override
public Convert withLocator(String value) {
setLocator(value);
return this;
}
@Override
public Convert withResultTypeName(QName value) {
setResultTypeName(value);
return this;
}
@Override
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 Convert that = ((Convert) object);
{
TypeSpecifier lhsToTypeSpecifier;
lhsToTypeSpecifier = this.getToTypeSpecifier();
TypeSpecifier rhsToTypeSpecifier;
rhsToTypeSpecifier = that.getToTypeSpecifier();
if (!strategy.equals(LocatorUtils.property(thisLocator, "toTypeSpecifier", lhsToTypeSpecifier), LocatorUtils.property(thatLocator, "toTypeSpecifier", rhsToTypeSpecifier), lhsToTypeSpecifier, rhsToTypeSpecifier, (this.toTypeSpecifier!= null), (that.toTypeSpecifier!= null))) {
return false;
}
}
{
QName lhsToType;
lhsToType = this.getToType();
QName rhsToType;
rhsToType = that.getToType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "toType", lhsToType), LocatorUtils.property(thatLocator, "toType", rhsToType), lhsToType, rhsToType, (this.toType!= null), (that.toType!= null))) {
return false;
}
}
return true;
}
@Override
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.getInstance();
return equals(null, null, object, strategy);
}
@Override
public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) {
int currentHashCode = super.hashCode(locator, strategy);
{
TypeSpecifier theToTypeSpecifier;
theToTypeSpecifier = this.getToTypeSpecifier();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "toTypeSpecifier", theToTypeSpecifier), currentHashCode, theToTypeSpecifier, (this.toTypeSpecifier!= null));
}
{
QName theToType;
theToType = this.getToType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "toType", theToType), currentHashCode, theToType, (this.toType!= null));
}
return currentHashCode;
}
@Override
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.getInstance();
return this.hashCode(null, strategy);
}
@Override
public String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.getInstance();
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
@Override
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;
}
@Override
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
super.appendFields(locator, buffer, strategy);
{
TypeSpecifier theToTypeSpecifier;
theToTypeSpecifier = this.getToTypeSpecifier();
strategy.appendField(locator, this, "toTypeSpecifier", buffer, theToTypeSpecifier, (this.toTypeSpecifier!= null));
}
{
QName theToType;
theToType = this.getToType();
strategy.appendField(locator, this, "toType", buffer, theToType, (this.toType!= null));
}
return buffer;
}
}