org.hl7.elm.r1.MaxValue 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.03.28 at 04:17:15 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.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 MaxValue operator returns the maximum representable value for the given type.
*
* The MaxValue operator is defined for the Integer, Long, Decimal, Date, DateTime, and Time types.
*
* For Integer, MaxValue returns the maximum signed 32-bit integer, 2^31 - 1.
*
* For Long, MaxValue returns the maximum signed 64-bit integer, 2^63 - 1.
*
* For Decimal, MaxValue returns the maximum representable Decimal value, (10^28 - 1) / 10^8 (99999999999999999999.99999999).
*
* For Date, MaxValue returns the maximum representable Date value, Date(9999, 12, 31).
*
* For DateTime, MaxValue returns the maximum representable DateTime value, DateTime(9999, 12, 31, 23, 59, 59, 999).
*
* For Time, MaxValue returns the maximum representable Time value, Time(23, 59, 59, 999).
*
* For any other type, attempting to invoke MaxValue results in an error.
*
* Note that implementations may choose to represent the maximum DateTime value using a constant offset such as UTC.
*
* Java class for MaxValue complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="MaxValue">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}Expression">
* <attribute name="valueType" use="required" type="{http://www.w3.org/2001/XMLSchema}QName" />
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MaxValue", namespace = "urn:hl7-org:elm:r1")
public class MaxValue
extends Expression
implements Equals2, HashCode2, ToString2
{
@XmlAttribute(name = "valueType", required = true)
protected QName valueType;
/**
* Gets the value of the valueType property.
*
* @return
* possible object is
* {@link QName }
*
*/
public QName getValueType() {
return valueType;
}
/**
* Sets the value of the valueType property.
*
* @param value
* allowed object is
* {@link QName }
*
*/
public void setValueType(QName value) {
this.valueType = value;
}
public MaxValue withValueType(QName value) {
setValueType(value);
return this;
}
@Override
public MaxValue withAnnotation(CqlToElmBase... values) {
if (values!= null) {
for (CqlToElmBase value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public MaxValue withAnnotation(Collection values) {
if (values!= null) {
getAnnotation().addAll(values);
}
return this;
}
@Override
public MaxValue withResultTypeSpecifier(TypeSpecifier value) {
setResultTypeSpecifier(value);
return this;
}
@Override
public MaxValue withLocalId(String value) {
setLocalId(value);
return this;
}
@Override
public MaxValue withLocator(String value) {
setLocator(value);
return this;
}
@Override
public MaxValue 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 MaxValue that = ((MaxValue) object);
{
QName lhsValueType;
lhsValueType = this.getValueType();
QName rhsValueType;
rhsValueType = that.getValueType();
if (!strategy.equals(LocatorUtils.property(thisLocator, "valueType", lhsValueType), LocatorUtils.property(thatLocator, "valueType", rhsValueType), lhsValueType, rhsValueType, (this.valueType!= null), (that.valueType!= 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);
{
QName theValueType;
theValueType = this.getValueType();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "valueType", theValueType), currentHashCode, theValueType, (this.valueType!= 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);
{
QName theValueType;
theValueType = this.getValueType();
strategy.appendField(locator, this, "valueType", buffer, theValueType, (this.valueType!= null));
}
return buffer;
}
}