org.openrdf.query.algebra
Class Group

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.UnaryTupleOperator
          extended by org.openrdf.query.algebra.Group
All Implemented Interfaces:
Cloneable, QueryModelNode, TupleExpr

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.

Author:
David Huynh, Arjohn Kampman

Field Summary
 
Fields inherited from class org.openrdf.query.algebra.UnaryTupleOperator
arg
 
Constructor Summary
Group(TupleExpr arg)
           
Group(TupleExpr arg, Iterable<String> groupBindingNames)
           
Group(TupleExpr arg, Iterable<String> groupBindingNames, Iterable<GroupElem> groupElements)
           
 
Method Summary
 void addGroupBindingName(String bindingName)
           
 void addGroupElement(GroupElem groupElem)
           
 Group clone()
          Returns a (deep) clone of this query model node.
 Set<String> getAggregateBindingNames()
           
 Set<String> getBindingNames()
          Gets the names of the bindings that are returned by this tuple expression when it is evaluated.
 Set<String> getGroupBindingNames()
           
 List<GroupElem> getGroupElements()
           
 void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
          Default implementation of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException indicating that current is not a child node of this node.
 void setGroupBindingNames(Iterable<String> bindingNames)
           
 void setGroupElements(Iterable<GroupElem> elements)
           
<X extends Exception>
void
visit(QueryModelVisitor<X> visitor)
          Visits this node.
<X extends Exception>
void
visitChildren(QueryModelVisitor<X> visitor)
          Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) that does nothing.
 
Methods inherited from class org.openrdf.query.algebra.UnaryTupleOperator
getArg, setArg
 
Methods inherited from class org.openrdf.query.algebra.QueryModelNodeBase
getParentNode, getSignature, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString
 

Constructor Detail

Group

public Group(TupleExpr arg)

Group

public Group(TupleExpr arg,
             Iterable<String> groupBindingNames)

Group

public Group(TupleExpr arg,
             Iterable<String> groupBindingNames,
             Iterable<GroupElem> groupElements)
Method Detail

getGroupBindingNames

public Set<String> getGroupBindingNames()

addGroupBindingName

public void addGroupBindingName(String bindingName)

setGroupBindingNames

public void setGroupBindingNames(Iterable<String> bindingNames)

getGroupElements

public List<GroupElem> getGroupElements()

addGroupElement

public void addGroupElement(GroupElem groupElem)

setGroupElements

public void setGroupElements(Iterable<GroupElem> elements)

getAggregateBindingNames

public Set<String> getAggregateBindingNames()

getBindingNames

public Set<String> getBindingNames()
Description copied from interface: TupleExpr
Gets the names of the bindings that are returned by this tuple expression when it is evaluated.

Specified by:
getBindingNames in interface TupleExpr
Overrides:
getBindingNames in class UnaryTupleOperator
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: QueryModelNodeBase
Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) that does nothing. Subclasses should override this method when they have child nodes.

Specified by:
visitChildren in interface QueryModelNode
Overrides:
visitChildren in class UnaryTupleOperator
Throws:
X extends Exception

replaceChildNode

public void replaceChildNode(QueryModelNode current,
                             QueryModelNode replacement)
Description copied from class: QueryModelNodeBase
Default implementation of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException indicating that current is not a child node of this node.

Specified by:
replaceChildNode in interface QueryModelNode
Overrides:
replaceChildNode in class UnaryTupleOperator
Parameters:
current - The current child node.
replacement - The new child node.

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 interface QueryModelNode
Specified by:
clone in interface TupleExpr
Overrides:
clone in class UnaryTupleOperator
Returns:
A deep clone of this query model node.


Copyright © 2001-2007 Aduna. All Rights Reserved.