org.xcmis.search.query.plan
Class QueryExecutionPlan

java.lang.Object
  extended by org.xcmis.search.query.plan.QueryExecutionPlan
All Implemented Interfaces:
Iterator<QueryExecutionPlan>
Direct Known Subclasses:
QueryExecutionPlan.NestedExecutionPlan, QueryExecutionPlan.SourceExecutionPlan

public abstract class QueryExecutionPlan
extends Object
implements Iterator<QueryExecutionPlan>

One step from query execution plan.


Nested Class Summary
static class QueryExecutionPlan.JoinExecutionPlan
          Plan what join two sources.
static class QueryExecutionPlan.LimitExecutionPlan
          Execution step for limit phase.
static class QueryExecutionPlan.NestedExecutionPlan
           
static class QueryExecutionPlan.ProjectExecutionPlan
          Execution step for project phase.
static class QueryExecutionPlan.SelectorExecutionPlan
          Plan for what accumulate information about source
static class QueryExecutionPlan.SortExecutionPlan
          Execution step for sort phase.
static class QueryExecutionPlan.SourceExecutionPlan
          Ancestor for Selector and Join step.
static class QueryExecutionPlan.Type
          An enumeration dictating the type of plan tree nodes.
static class QueryExecutionPlan.WhereExecutionPlan
          Execution step for constraint.
 
Constructor Summary
QueryExecutionPlan(QueryExecutionPlan.Type type)
           
 
Method Summary
 void addSelector(org.xcmis.search.model.source.SelectorName symbol)
          Add a selector to this plan node.
 void addSelector(org.xcmis.search.model.source.SelectorName first, org.xcmis.search.model.source.SelectorName second)
          Add the selectors to this execution step.
 void addSelectors(Iterable<org.xcmis.search.model.source.SelectorName> names)
          Add the selectors to this execution step.
 QueryExecutionPlan findPlanByType(QueryExecutionPlan.Type type)
          Return plan by type
protected  void getRecursiveString(StringBuilder str, int indentLevel)
           
 Set<org.xcmis.search.model.source.SelectorName> getSelectors()
          Get the selectors that are referenced by this execution step.
 int getSize()
           
 QueryExecutionPlan.Type getType()
           
 boolean hasNext()
           
 QueryExecutionPlan next()
           
 void remove()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QueryExecutionPlan

public QueryExecutionPlan(QueryExecutionPlan.Type type)
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<QueryExecutionPlan>
See Also:
Iterator.hasNext()

next

public QueryExecutionPlan next()
Specified by:
next in interface Iterator<QueryExecutionPlan>
See Also:
Iterator.next()

remove

public void remove()
Specified by:
remove in interface Iterator<QueryExecutionPlan>
See Also:
Iterator.remove()

addSelector

public void addSelector(org.xcmis.search.model.source.SelectorName symbol)
Add a selector to this plan node. This method does nothing if the supplied selector is null.

Parameters:
symbol - the symbol of the selector

addSelector

public void addSelector(org.xcmis.search.model.source.SelectorName first,
                        org.xcmis.search.model.source.SelectorName second)
Add the selectors to this execution step. This method does nothing for any supplied selector that is null.

Parameters:
first - the first symbol to be added
second - the second symbol to be added

addSelectors

public void addSelectors(Iterable<org.xcmis.search.model.source.SelectorName> names)
Add the selectors to this execution step. This method does nothing for any supplied selector that is null.

Parameters:
names - the symbols to be added

findPlanByType

public QueryExecutionPlan findPlanByType(QueryExecutionPlan.Type type)
Return plan by type

Parameters:
type -
Returns:

getSelectors

public Set<org.xcmis.search.model.source.SelectorName> getSelectors()
Get the selectors that are referenced by this execution step.

Returns:
the names of the selectors; never null but possibly empty

getType

public QueryExecutionPlan.Type getType()
Returns:
the type of the step

getSize

public int getSize()
Returns:
size;

getRecursiveString

protected void getRecursiveString(StringBuilder str,
                                  int indentLevel)

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()


Copyright © 2011 eXo Platform SAS. All Rights Reserved.