org.cqframework.cql.elm.execution.RelationshipClause Maven / Gradle / Ivy
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.04.13 at 05:43:32 PM MDT
//
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.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
import org.jvnet.jaxb2_commons.lang.Equals;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
import org.jvnet.jaxb2_commons.lang.HashCode;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
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.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
/**
* The RelationshipClause element allows related sources to be used to restrict the elements included from another source in a query context. Note that the elements referenced by the relationship clause can only be accessed within the suchThat condition, and that elements of the related source are not included in the query context.
*
* Java class for RelationshipClause complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="RelationshipClause">
* <complexContent>
* <extension base="{urn:hl7-org:elm:r1}AliasedQuerySource">
* <sequence>
* <element name="suchThat" type="{urn:hl7-org:elm:r1}Expression"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RelationshipClause", namespace = "urn:hl7-org:elm:r1", propOrder = {
"suchThat"
})
@XmlSeeAlso({
With.class,
Without.class
})
public abstract class RelationshipClause
extends AliasedQuerySource
implements Equals, HashCode, ToString
{
@XmlElement(namespace = "urn:hl7-org:elm:r1", required = true)
protected Expression suchThat;
/**
* Gets the value of the suchThat property.
*
* @return
* possible object is
* {@link Expression }
*
*/
public Expression getSuchThat() {
return suchThat;
}
/**
* Sets the value of the suchThat property.
*
* @param value
* allowed object is
* {@link Expression }
*
*/
public void setSuchThat(Expression value) {
this.suchThat = value;
}
public RelationshipClause withSuchThat(Expression value) {
setSuchThat(value);
return this;
}
@Override
public RelationshipClause withExpression(Expression value) {
setExpression(value);
return this;
}
@Override
public RelationshipClause withAlias(String value) {
setAlias(value);
return this;
}
@Override
public RelationshipClause withAnnotation(Object... values) {
if (values!= null) {
for (Object value: values) {
getAnnotation().add(value);
}
}
return this;
}
@Override
public RelationshipClause withAnnotation(Collection