
org.hl7.elm.r1.Slice 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 Eclipse Implementation of JAXB, v3.0.2
// See https://eclipse-ee4j.github.io/jaxb-ri
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2025.01.17 at 02:50:06 PM MST
//
package org.hl7.elm.r1;
import java.util.Collection;
import javax.xml.namespace.QName;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
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 Slice operator returns a portion of the elements in a list, beginning at the start index and ending just before the ending index.
*
* If the source list is null, the result is null.
*
* If the startIndex is null, the slice begins at the first element of the list.
*
* If the endIndex is null, the slice continues to the last element of the list.
*
* If the startIndex or endIndex is less than 0, or if the endIndex is less than the startIndex, the result is an empty list.
*
* Java class for Slice complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Slice">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}OperatorExpression">
* <sequence>
* <element name="source" type="{urn:hl7-org:elm:r1}Expression"/>
* <element name="startIndex" type="{urn:hl7-org:elm:r1}Expression"/>
* <element name="endIndex" type="{urn:hl7-org:elm:r1}Expression"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Slice", namespace = "urn:hl7-org:elm:r1", propOrder = {
"source",
"startIndex",
"endIndex"
})
public class Slice
extends OperatorExpression
implements Equals2, HashCode2, ToString2
{
@XmlElement(namespace = "urn:hl7-org:elm:r1", required = true)
protected Expression source;
@XmlElement(namespace = "urn:hl7-org:elm:r1", required = true)
protected Expression startIndex;
@XmlElement(namespace = "urn:hl7-org:elm:r1", required = true)
protected Expression endIndex;
/**
* Gets the value of the source property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getSource() {
return source;
}
/**
* Sets the value of the source property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setSource(Expression value) {
this.source = value;
}
/**
* Gets the value of the startIndex property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getStartIndex() {
return startIndex;
}
/**
* Sets the value of the startIndex property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setStartIndex(Expression value) {
this.startIndex = value;
}
/**
* Gets the value of the endIndex property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getEndIndex() {
return endIndex;
}
/**
* Sets the value of the endIndex property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setEndIndex(Expression value) {
this.endIndex = value;
}
public Slice withSource(Expression value) {
setSource(value);
return this;
}
public Slice withStartIndex(Expression value) {
setStartIndex(value);
return this;
}
public Slice withEndIndex(Expression value) {
setEndIndex(value);
return this;
}
@Override
public Slice withSignature(TypeSpecifier... values) {
if (values!= null) {
for (TypeSpecifier value: values) {
getSignature().add(value);
}
}
return this;
}
@Override
public Slice withSignature(Collection values) {
if (values!= null) {
getSignature().addAll(values);
}
return this;
}
@Override
public Slice withAnnotation(CqlToElmBase... values) {
if (values!= null) {
for (CqlToElmBase value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public Slice withAnnotation(Collection values) {
if (values!= null) {
getAnnotation().addAll(values);
}
return this;
}
@Override
public Slice withResultTypeSpecifier(TypeSpecifier value) {
setResultTypeSpecifier(value);
return this;
}
@Override
public Slice withLocalId(String value) {
setLocalId(value);
return this;
}
@Override
public Slice withLocator(String value) {
setLocator(value);
return this;
}
@Override
public Slice 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 Slice that = ((Slice) object);
{
Expression lhsSource;
lhsSource = this.getSource();
Expression rhsSource;
rhsSource = that.getSource();
if (!strategy.equals(LocatorUtils.property(thisLocator, "source", lhsSource), LocatorUtils.property(thatLocator, "source", rhsSource), lhsSource, rhsSource, (this.source!= null), (that.source!= null))) {
return false;
}
}
{
Expression lhsStartIndex;
lhsStartIndex = this.getStartIndex();
Expression rhsStartIndex;
rhsStartIndex = that.getStartIndex();
if (!strategy.equals(LocatorUtils.property(thisLocator, "startIndex", lhsStartIndex), LocatorUtils.property(thatLocator, "startIndex", rhsStartIndex), lhsStartIndex, rhsStartIndex, (this.startIndex!= null), (that.startIndex!= null))) {
return false;
}
}
{
Expression lhsEndIndex;
lhsEndIndex = this.getEndIndex();
Expression rhsEndIndex;
rhsEndIndex = that.getEndIndex();
if (!strategy.equals(LocatorUtils.property(thisLocator, "endIndex", lhsEndIndex), LocatorUtils.property(thatLocator, "endIndex", rhsEndIndex), lhsEndIndex, rhsEndIndex, (this.endIndex!= null), (that.endIndex!= 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);
{
Expression theSource;
theSource = this.getSource();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "source", theSource), currentHashCode, theSource, (this.source!= null));
}
{
Expression theStartIndex;
theStartIndex = this.getStartIndex();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "startIndex", theStartIndex), currentHashCode, theStartIndex, (this.startIndex!= null));
}
{
Expression theEndIndex;
theEndIndex = this.getEndIndex();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "endIndex", theEndIndex), currentHashCode, theEndIndex, (this.endIndex!= 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);
{
Expression theSource;
theSource = this.getSource();
strategy.appendField(locator, this, "source", buffer, theSource, (this.source!= null));
}
{
Expression theStartIndex;
theStartIndex = this.getStartIndex();
strategy.appendField(locator, this, "startIndex", buffer, theStartIndex, (this.startIndex!= null));
}
{
Expression theEndIndex;
theEndIndex = this.getEndIndex();
strategy.appendField(locator, this, "endIndex", buffer, theEndIndex, (this.endIndex!= null));
}
return buffer;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy