Package org.eclipse.rdf4j.query.algebra
Class Extension
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
-
- org.eclipse.rdf4j.query.algebra.Extension
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,GraphPatternGroupable,QueryModelNode,TupleExpr,VariableScopeChange
public class Extension extends UnaryTupleOperator
An extension operator that can be used to add bindings to solutions whose values are defined byvalue expressions.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ExtensionElem>elements-
Fields inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
arg
-
-
Constructor Summary
Constructors Constructor Description Extension()Extension(TupleExpr arg)Extension(TupleExpr arg, java.lang.Iterable<ExtensionElem> elements)Extension(TupleExpr arg, ExtensionElem... elements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddElement(ExtensionElem pe)voidaddElements(java.lang.Iterable<ExtensionElem> elements)voidaddElements(ExtensionElem... elements)Extensionclone()Returns a (deep) clone of this query model node.booleanequals(java.lang.Object other)Returns true if this query model node and its children are recursively equal to o and its children.java.util.Set<java.lang.String>getBindingNames()Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.java.util.List<ExtensionElem>getElements()inthashCode()voidreplaceChildNode(QueryModelNode current, QueryModelNode replacement)Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.voidsetElements(java.lang.Iterable<ExtensionElem> elements)<X extends java.lang.Exception>
voidvisit(QueryModelVisitor<X> visitor)Visits this node.<X extends java.lang.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, getAssuredBindingNames, 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, toHumanReadbleNumber, 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
-
-
-
-
Field Detail
-
elements
private java.util.List<ExtensionElem> elements
-
-
Constructor Detail
-
Extension
public Extension()
-
Extension
public Extension(TupleExpr arg)
-
Extension
public Extension(TupleExpr arg, ExtensionElem... elements)
-
Extension
public Extension(TupleExpr arg, java.lang.Iterable<ExtensionElem> elements)
-
-
Method Detail
-
getElements
public java.util.List<ExtensionElem> getElements()
-
setElements
public void setElements(java.lang.Iterable<ExtensionElem> elements)
-
addElements
public void addElements(ExtensionElem... elements)
-
addElements
public void addElements(java.lang.Iterable<ExtensionElem> elements)
-
addElement
public void addElement(ExtensionElem pe)
-
getBindingNames
public java.util.Set<java.lang.String> getBindingNames()
Description copied from interface:TupleExprGets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNamesin interfaceTupleExpr- Overrides:
getBindingNamesin classUnaryTupleOperator- Returns:
- A set of binding names.
-
visit
public <X extends java.lang.Exception> void visit(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from interface:QueryModelNodeVisits this node. The node reports itself to the visitor with the proper runtime type.- Throws:
X extends java.lang.Exception
-
visitChildren
public <X extends java.lang.Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from class:AbstractQueryModelNodeDummy 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:
visitChildrenin interfaceQueryModelNode- Overrides:
visitChildrenin classUnaryTupleOperator- Throws:
X extends java.lang.Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNodeDefault implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.- Specified by:
replaceChildNodein interfaceQueryModelNode- Overrides:
replaceChildNodein classUnaryTupleOperator- Parameters:
current- The current child node.replacement- The new child node.
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:QueryModelNodeReturns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equalsin interfaceQueryModelNode- Overrides:
equalsin classUnaryTupleOperator
-
hashCode
public int hashCode()
- Overrides:
hashCodein classUnaryTupleOperator
-
clone
public Extension clone()
Description copied from interface:QueryModelNodeReturns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clonein interfaceQueryModelNode- Specified by:
clonein interfaceTupleExpr- Overrides:
clonein classUnaryTupleOperator- Returns:
- A deep clone of this query model node.
-
-