Package org.eclipse.rdf4j.query.algebra
Class Group
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
-
- org.eclipse.rdf4j.query.algebra.Group
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,GraphPatternGroupable
,QueryModelNode
,TupleExpr
,VariableScopeChange
public class Group extends UnaryTupleOperator
A tuple operator that groups tuples that have a specific set of equivalent variable bindings, and that can apply aggregate functions on the grouped results.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>
groupBindings
private java.util.List<GroupElem>
groupElements
-
Fields inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
arg
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGroupBindingName(java.lang.String bindingName)
void
addGroupElement(GroupElem groupElem)
Group
clone()
Returns a (deep) clone of this query model node.boolean
equals(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>
getAggregateBindingNames()
java.util.Set<java.lang.String>
getAssuredBindingNames()
Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.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.Set<java.lang.String>
getGroupBindingNames()
java.util.List<GroupElem>
getGroupElements()
java.lang.String
getSignature()
Default implementation ofQueryModelNode.getSignature()
that prints the name of the node's class.int
hashCode()
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
setGroupBindingNames(java.lang.Iterable<java.lang.String> bindingNames)
void
setGroupBindingNames(java.util.List<java.lang.String> bindingNames)
void
setGroupElements(java.lang.Iterable<GroupElem> 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, setArg
-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, 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, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Field Detail
-
groupBindings
private java.util.Set<java.lang.String> groupBindings
-
groupElements
private java.util.List<GroupElem> groupElements
-
-
Method Detail
-
getGroupBindingNames
public java.util.Set<java.lang.String> getGroupBindingNames()
-
addGroupBindingName
public void addGroupBindingName(java.lang.String bindingName)
-
setGroupBindingNames
public void setGroupBindingNames(java.util.List<java.lang.String> bindingNames)
-
setGroupBindingNames
public void setGroupBindingNames(java.lang.Iterable<java.lang.String> bindingNames)
-
getGroupElements
public java.util.List<GroupElem> getGroupElements()
-
addGroupElement
public void addGroupElement(GroupElem groupElem)
-
setGroupElements
public void setGroupElements(java.lang.Iterable<GroupElem> elements)
-
getAggregateBindingNames
public java.util.Set<java.lang.String> getAggregateBindingNames()
-
getBindingNames
public java.util.Set<java.lang.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 java.util.Set<java.lang.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 java.lang.Exception> void visit(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from interface:QueryModelNode
Visits 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: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 java.lang.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(java.lang.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 Group 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.
-
getSignature
public java.lang.String getSignature()
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.getSignature()
that prints the name of the node's class.- Specified by:
getSignature
in interfaceQueryModelNode
- Overrides:
getSignature
in classAbstractQueryModelNode
- Returns:
- The node's signature, e.g. SLICE (offset=10, limit=10).
-
-