org.modeshape.jcr.query.process

## Class MergeJoinComponent

- java.lang.Object
- - org.modeshape.jcr.query.process.ProcessingComponent
  - - org.modeshape.jcr.query.process.JoinComponent
    - - org.modeshape.jcr.query.process.MergeJoinComponent

-     @Immutable
      public class MergeJoinComponent
      extends JoinComponent

  Create a processing component that performs a merge-join algorithm. This algorithm only makes sense for `equi-joins`, `child-node joins`, and `same-node joins`.

  Note that it is required that the left and right processing components (where this component gets its results) must already be properly sorted and have had duplicates removed.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.modeshape.jcr.query.process.JoinComponent

      `JoinComponent.Joinable, JoinComponent.TupleMerger, JoinComponent.ValueSelector`

    - ### Nested classes/interfaces inherited from class org.modeshape.jcr.query.process.ProcessingComponent

      `ProcessingComponent.DynamicOperation`

  - ### Field Summary

    - ### Fields inherited from class org.modeshape.jcr.query.process.JoinComponent

      `LOCATION_COMPARATOR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MergeJoinComponent(QueryContext context, ProcessingComponent left, ProcessingComponent right, ChildNodeJoinCondition condition, JoinType joinType)`
    `MergeJoinComponent(QueryContext context, ProcessingComponent left, ProcessingComponent right, EquiJoinCondition condition, JoinType joinType)`
    `MergeJoinComponent(QueryContext context, ProcessingComponent left, ProcessingComponent right, SameNodeJoinCondition condition, JoinType joinType)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<Object[]>` | `execute()` Execute this stage of processing and return the resulting tuples that each conform to the `columns`.
    `protected boolean` | `isSameTuple(QueryResults.Columns columns, Object[] tuple1, Object[] tuple2)`

    - ### Methods inherited from class org.modeshape.jcr.query.process.JoinComponent

      `arrayAwareComparator, comparatorFor, createMerger, getJoinCondition, getJoinType, joinableFor, left, leftColunns, right, rightColumns, valueSelectorFor`

    - ### Methods inherited from class org.modeshape.jcr.query.process.ProcessingComponent

      `close, createDynamicOperation, createSortComparator, emptyTuples, getColumns, getContext, getLocationIndexes, problems`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MergeJoinComponent

          public MergeJoinComponent(QueryContext context,
                            ProcessingComponent left,
                            ProcessingComponent right,
                            EquiJoinCondition condition,
                            JoinType joinType)

    - #### MergeJoinComponent

          public MergeJoinComponent(QueryContext context,
                            ProcessingComponent left,
                            ProcessingComponent right,
                            ChildNodeJoinCondition condition,
                            JoinType joinType)

    - #### MergeJoinComponent

          public MergeJoinComponent(QueryContext context,
                            ProcessingComponent left,
                            ProcessingComponent right,
                            SameNodeJoinCondition condition,
                            JoinType joinType)

  - ### Method Detail

    - #### execute

          public List<Object[]> execute()

      Description copied from class: `ProcessingComponent`
      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

    - #### isSameTuple

          protected final boolean isSameTuple(QueryResults.Columns columns,
                            Object[] tuple1,
                            Object[] tuple2)

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