org.modeshape.graph.query.process
Class DependentQueryComponent

java.lang.Object
  extended by org.modeshape.graph.query.process.ProcessingComponent
      extended by org.modeshape.graph.query.process.DependentQueryComponent

public class DependentQueryComponent
extends ProcessingComponent

A ProcessingComponent that executes a dependent query node by first executing the left component and then executing the right component. If a variable name is specified, this component will save the query results from the the corresponding component into the variables in the QueryContext.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.modeshape.graph.query.process.ProcessingComponent
ProcessingComponent.DynamicOperation
 
Constructor Summary
DependentQueryComponent(QueryContext context, ProcessingComponent left, ProcessingComponent right, String leftVariableName, String rightVariableName)
           
 
Method Summary
protected  QueryResults.Columns colunnsOfDependentQuery()
          Get the columns definition for the results from the right component that is dependent upon the left.
protected  QueryResults.Columns colunnsOfIndependentQuery()
          Get the columns definition for the results from the left, independent query that is processed first.
 List<Object[]> execute()
          Execute this stage of processing and return the resulting tuples that each conform to the columns.
protected  ProcessingComponent left()
          Get the processing component that serves as the left side of the join.
protected  ProcessingComponent right()
          Get the processing component that serves as the right side of the join.
protected  void saveResultsToVariable(List<Object[]> results, String variableName)
           
 
Methods inherited from class org.modeshape.graph.query.process.ProcessingComponent
close, createDynamicOperation, createSortComparator, emptyTuples, getColumns, getContext, problems
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DependentQueryComponent

public DependentQueryComponent(QueryContext context,
                               ProcessingComponent left,
                               ProcessingComponent right,
                               String leftVariableName,
                               String rightVariableName)
Method Detail

left

protected final ProcessingComponent left()
Get the processing component that serves as the left side of the join.

Returns:
the left-side processing component; never null

right

protected final ProcessingComponent right()
Get the processing component that serves as the right side of the join.

Returns:
the right-side processing component; never null

colunnsOfIndependentQuery

protected final QueryResults.Columns colunnsOfIndependentQuery()
Get the columns definition for the results from the left, independent query that is processed first.

Returns:
the left-side columns; never null

colunnsOfDependentQuery

protected final QueryResults.Columns colunnsOfDependentQuery()
Get the columns definition for the results from the right component that is dependent upon the left.

Returns:
the right-side columns; never null

execute

public List<Object[]> execute()
Execute this stage of processing and return the resulting tuples that each conform to the columns.

Specified by:
execute in class ProcessingComponent
Returns:
the list of tuples, where each tuple corresonds to the columns; never null
See Also:
ProcessingComponent.execute()

saveResultsToVariable

protected void saveResultsToVariable(List<Object[]> results,
                                     String variableName)


Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.