|
ModeShape Distribution 3.0.0.Beta4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.modeshape.jcr.query.process.ProcessingComponent
org.modeshape.jcr.query.process.JoinComponent
public abstract class JoinComponent
Nested Class Summary | |
---|---|
protected static interface |
JoinComponent.Joinable
Interface defining the value of a tuple that is used in the join condition. |
protected static interface |
JoinComponent.TupleMerger
A component that will merge the supplied tuple on the left side of a join with the supplied tuple on the right side of the join, to produce a single tuple with all components from the left and right tuples. |
protected static interface |
JoinComponent.ValueSelector
Interface defining the value of a tuple that is used in the join condition. |
Nested classes/interfaces inherited from class org.modeshape.jcr.query.process.ProcessingComponent |
---|
ProcessingComponent.DynamicOperation |
Field Summary | |
---|---|
protected static Comparator<QueryResults.Location> |
LOCATION_COMPARATOR
|
Constructor Summary | |
---|---|
protected |
JoinComponent(QueryContext context,
ProcessingComponent left,
ProcessingComponent right,
JoinCondition condition,
JoinType joinType)
|
Method Summary | |
---|---|
protected static Comparator<Object> |
comparatorFor(QueryContext context,
ProcessingComponent left,
ProcessingComponent right,
JoinCondition condition)
Create a Comparable that can be used to compare the values required to evaluate the supplied join condition. |
protected static JoinComponent.TupleMerger |
createMerger(QueryResults.Columns joinColumns,
QueryResults.Columns leftColumns,
QueryResults.Columns rightColumns)
Create a JoinComponent.TupleMerger implementation that will combine a tuple fitting the left columns with a tuple fitting the
right columns. |
JoinCondition |
getJoinCondition()
Get the join condition. |
JoinType |
getJoinType()
Get the type of join this processor represents. |
protected static JoinComponent.Joinable |
joinableFor(ProcessingComponent left,
ProcessingComponent right,
JoinCondition condition)
Create a JoinComponent.ValueSelector that obtains the value required to use the supplied join condition. |
protected ProcessingComponent |
left()
Get the processing component that serves as the left side of the join. |
protected QueryResults.Columns |
leftColunns()
Get the columns definition for the results from the left side of the join. |
protected ProcessingComponent |
right()
Get the processing component that serves as the right side of the join. |
protected QueryResults.Columns |
rightColumns()
Get the columns definition for the results from the right side of the join. |
protected static JoinComponent.ValueSelector |
valueSelectorFor(ProcessingComponent source,
JoinCondition condition)
Create a JoinComponent.ValueSelector that obtains the value required to use the supplied join condition. |
Methods inherited from class org.modeshape.jcr.query.process.ProcessingComponent |
---|
close, createDynamicOperation, createSortComparator, emptyTuples, execute, getColumns, getContext, problems |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final Comparator<QueryResults.Location> LOCATION_COMPARATOR
Constructor Detail |
---|
protected JoinComponent(QueryContext context, ProcessingComponent left, ProcessingComponent right, JoinCondition condition, JoinType joinType)
Method Detail |
---|
public final JoinType getJoinType()
public final JoinCondition getJoinCondition()
protected final ProcessingComponent left()
protected final ProcessingComponent right()
protected final QueryResults.Columns leftColunns()
protected final QueryResults.Columns rightColumns()
protected static JoinComponent.TupleMerger createMerger(QueryResults.Columns joinColumns, QueryResults.Columns leftColumns, QueryResults.Columns rightColumns)
JoinComponent.TupleMerger
implementation that will combine a tuple fitting the left columns with a tuple fitting the
right columns. This merger will properly place all of the values, locations, and scores such that the tuples always have
this arrangement:
[ v1, v2, ..., vM, loc1, loc2, ..., locN, s1, s2, ..., sN ]where M is the number of values in the tuple, and N is the number of sources in the tuple.
Note that this merger does not actually reduce or combine values. That is done with a particular JoinComponent
subclass.
joinColumns
- the Columns specification for the joined/merged tuples; may not be nullleftColumns
- the Columns specification for the tuple on the left side of the join; may not be nullrightColumns
- the Columns specification for the tuple on the right side of the join; may not be null
protected static JoinComponent.ValueSelector valueSelectorFor(ProcessingComponent source, JoinCondition condition)
JoinComponent.ValueSelector
that obtains the value required to use the supplied join condition.
source
- the source component; may not be nullcondition
- the join condition; may not be null
protected static JoinComponent.Joinable joinableFor(ProcessingComponent left, ProcessingComponent right, JoinCondition condition)
JoinComponent.ValueSelector
that obtains the value required to use the supplied join condition.
left
- the left source component; may not be nullright
- the left source component; may not be nullcondition
- the join condition; may not be null
protected static Comparator<Object> comparatorFor(QueryContext context, ProcessingComponent left, ProcessingComponent right, JoinCondition condition)
Comparable
that can be used to compare the values required to evaluate the supplied join condition.
context
- the context in which this query is being evaluated; may not be nullleft
- the left source component; may not be nullright
- the left source component; may not be nullcondition
- the join condition; may not be null
|
ModeShape Distribution 3.0.0.Beta4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |