org.openrdf.query.algebra
Class MultiProjection

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

public class MultiProjection
extends UnaryTupleOperator

A "multi-projection" that can produce multiple solutions from a single set of bindings.


Field Summary
 
Fields inherited from class org.openrdf.query.algebra.UnaryTupleOperator
arg
 
Constructor Summary
MultiProjection()
           
MultiProjection(TupleExpr arg)
           
MultiProjection(TupleExpr arg, Iterable<ProjectionElemList> projections)
           
 
Method Summary
 void addProjection(ProjectionElemList projection)
           
 void addProjections(Iterable<ProjectionElemList> projections)
           
 MultiProjection 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.
 List<ProjectionElemList> getProjections()
           
 int hashCode()
           
 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 setProjections(Iterable<ProjectionElemList> projections)
           
<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, nullEquals, replaceNodeInList, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString
 

Constructor Detail

MultiProjection

public MultiProjection()

MultiProjection

public MultiProjection(TupleExpr arg)

MultiProjection

public MultiProjection(TupleExpr arg,
                       Iterable<ProjectionElemList> projections)
Method Detail

getProjections

public List<ProjectionElemList> getProjections()

setProjections

public void setProjections(Iterable<ProjectionElemList> projections)

addProjections

public void addProjections(Iterable<ProjectionElemList> projections)

addProjection

public void addProjection(ProjectionElemList projection)

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 interface TupleExpr
Overrides:
getBindingNames in class UnaryTupleOperator
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 interface TupleExpr
Overrides:
getAssuredBindingNames 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.

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 interface QueryModelNode
Overrides:
equals in class UnaryTupleOperator

hashCode

public int hashCode()
Overrides:
hashCode in class UnaryTupleOperator

clone

public MultiProjection 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-2009 Aduna. All Rights Reserved.