org.cqframework.cql.elm.execution.Intersect Maven / Gradle / Ivy
//
// 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: 2020.09.30 at 08:06:11 PM UTC
//
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.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;
/**
* The Intersect operator returns the intersection of its arguments.
*
* This operator has two overloads:
* List
* Interval
*
* For the list overload, this operator returns a list with the elements that appear in both lists, using equality semantics with the exception that null elements are considered equal for the purposes of the intersection. The operator is defined with set semantics, meaning that each element will appear in the result at most once, and that there is no expectation that the order of the inputs will be preserved in the results.
*
* For the interval overload, this operator returns the interval that defines the overlapping portion of both arguments. If the arguments do not overlap, this operator returns null.
*
* If either argument is null, the result is null.
*
* Java class for Intersect complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Intersect">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}NaryExpression">
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Intersect", namespace = "urn:hl7-org:elm:r1")
@SuppressWarnings({
"all"
})
public class Intersect
extends NaryExpression
implements Equals2, HashCode2, ToString2
{
@Override
public Intersect withOperand(Expression... values) {
if (values!= null) {
for (Expression value: values) {
getOperand().add(value);
}
}
return this;
}
@Override
public Intersect withOperand(Collection values) {
if (values!= null) {
getOperand().addAll(values);
}
return this;
}
@Override
public Intersect withSignature(TypeSpecifier... values) {
if (values!= null) {
for (TypeSpecifier value: values) {
getSignature().add(value);
}
}
return this;
}
@Override
public Intersect withSignature(Collection values) {
if (values!= null) {
getSignature().addAll(values);
}
return this;
}
@Override
public Intersect withAnnotation(Object... values) {
if (values!= null) {
for (Object value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public Intersect withAnnotation(Collection