org.plasma.query.model.Join Maven / Gradle / Ivy
The newest version!
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.12.29 at 09:12:29 AM MST
//
package org.plasma.query.model;
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.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.plasma.query.visitor.QueryVisitor;
import org.plasma.query.visitor.Traversal;
/**
* Java class for Join complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Join">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element ref="{http://www.terrameta.org/plasma/query}Entity"/>
* <element ref="{http://www.terrameta.org/plasma/query}On"/>
* </sequence>
* <attribute name="type" use="required" type="{http://www.terrameta.org/plasma/query}JoinType" />
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Join", propOrder = {
"entity",
"on"
})
@XmlRootElement(name = "Join")
public class Join implements org.plasma.query.Join {
@XmlElement(name = "Entity", required = true)
protected Entity entity;
@XmlElement(name = "On", required = true)
protected On on;
@XmlAttribute(name = "type", required = true)
protected JoinType type;
/**
* Gets the value of the entity property.
*
* @return
* possible object is
* {@link Entity }
*
*/
public Entity getEntity() {
return entity;
}
/**
* Sets the value of the entity property.
*
* @param value
* allowed object is
* {@link Entity }
*
*/
public void setEntity(Entity value) {
this.entity = value;
}
/**
* Gets the value of the on property.
*
* @return
* possible object is
* {@link On }
*
*/
public On getOn() {
return on;
}
/**
* Sets the value of the on property.
*
* @param value
* allowed object is
* {@link On }
*
*/
public void setOn(On value) {
this.on = value;
}
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link JoinType }
*
*/
public JoinType getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link JoinType }
*
*/
public void setType(JoinType value) {
this.type = value;
}
public void accept(QueryVisitor visitor)
{
visitor.start(this);
if (visitor.getContext().getTraversal().ordinal() == Traversal.CONTINUE.ordinal())
{
this.getEntity().accept(visitor);
this.getOn().getExpression().accept(visitor);
}
visitor.end(this);
}
}