Package org.eclipse.rdf4j.query.algebra
Class Projection
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
-
- org.eclipse.rdf4j.query.algebra.Projection
-
- All Implemented Interfaces:
Serializable
,Cloneable
,GraphPatternGroupable
,QueryModelNode
,TupleExpr
,VariableScopeChange
public class Projection extends UnaryTupleOperator
A generalized projection (allowing the bindings to be renamed) on a tuple expression.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
arg
-
-
Constructor Summary
Constructors Constructor Description Projection()
Projection(TupleExpr arg)
Projection(TupleExpr arg, ProjectionElemList elements)
Projection(TupleExpr arg, ProjectionElemList elements, boolean subquery)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Projection
clone()
Returns a (deep) clone of this query model node.boolean
equals(Object other)
Returns true if this query model node and its children are recursively equal to o and its children.Set<String>
getAssuredBindingNames()
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.Set<String>
getBindingNames()
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.Var
getProjectionContext()
ProjectionElemList
getProjectionElemList()
int
hashCode()
boolean
isSubquery()
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.void
setProjectionContext(Var projectionContext)
void
setProjectionElemList(ProjectionElemList projElemList)
void
setSubquery(boolean subquery)
<X extends Exception>
voidvisit(QueryModelVisitor<X> visitor)
Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
getArg, setArg
-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Constructor Detail
-
Projection
public Projection()
-
Projection
public Projection(TupleExpr arg)
-
Projection
public Projection(TupleExpr arg, ProjectionElemList elements)
-
Projection
public Projection(TupleExpr arg, ProjectionElemList elements, boolean subquery)
-
-
Method Detail
-
getProjectionElemList
public ProjectionElemList getProjectionElemList()
-
setProjectionElemList
public void setProjectionElemList(ProjectionElemList projElemList)
-
getBindingNames
public Set<String> getBindingNames()
Description copied from interface:TupleExpr
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNames
in interfaceTupleExpr
- Overrides:
getBindingNames
in classUnaryTupleOperator
- Returns:
- A set of binding names.
-
getAssuredBindingNames
public Set<String> getAssuredBindingNames()
Description copied from interface:TupleExpr
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNames
in interfaceTupleExpr
- Overrides:
getAssuredBindingNames
in classUnaryTupleOperator
- Returns:
- A set of binding names.
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Throws:
X extends Exception
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from class:AbstractQueryModelNode
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing. Subclasses should override this method when they have child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Overrides:
visitChildren
in classUnaryTupleOperator
- Throws:
X extends Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Overrides:
replaceChildNode
in classUnaryTupleOperator
- Parameters:
current
- The current child node.replacement
- The new child node.
-
equals
public boolean equals(Object other)
Description copied from interface:QueryModelNode
Returns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equals
in interfaceQueryModelNode
- Overrides:
equals
in classUnaryTupleOperator
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classUnaryTupleOperator
-
clone
public Projection clone()
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceTupleExpr
- Overrides:
clone
in classUnaryTupleOperator
- Returns:
- A deep clone of this query model node.
-
getProjectionContext
public Var getProjectionContext()
- Returns:
- Returns the projectionContext.
-
setProjectionContext
public void setProjectionContext(Var projectionContext)
- Parameters:
projectionContext
- The projectionContext to set.
-
isSubquery
public boolean isSubquery()
-
setSubquery
public void setSubquery(boolean subquery)
-
-