org.eclipse.rdf4j.sail.shacl.planNodes

## Class InnerJoin

- java.lang.Object
- - org.eclipse.rdf4j.sail.shacl.planNodes.InnerJoin

- All Implemented Interfaces:
    MultiStreamPlanNode, PlanNode

      public class InnerJoin
      extends Object
      implements MultiStreamPlanNode, PlanNode

  Author:
    Håvard Ottestad

    This inner join algorithm assumes the left iterator is unique for tuple[0], eg. no two tuples have the same value at index 0. The right iterator is allowed to contain duplicates.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InnerJoin(PlanNode left, PlanNode right)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `int` | `depth()`
    `PlanNode` | `getDiscardedLeft(Class<? extends PushablePlanNode> type)`
    `PlanNode` | `getDiscardedRight(Class<? extends PushablePlanNode> type)`
    `String` | `getId()`
    `IteratorData` | `getIteratorDataType()`
    `PlanNode` | `getJoined(Class<? extends PushablePlanNode> type)`
    `void` | `getPlanAsGraphvizDot(StringBuilder stringBuilder)`
    `boolean` | `incrementIterator()`
    `void` | `init()`
    `CloseableIteration<Tuple,SailException>` | `internalIterator()`
    `CloseableIteration<Tuple,SailException>` | `iterator()`
    `List<PlanNode>` | `parent()`
    `void` | `receiveLogger(ValidationExecutionLogger validationExecutionLogger)`
    `String` | `toString()`

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

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

- - ### Constructor Detail

    - #### InnerJoin

          public InnerJoin(PlanNode left,
                           PlanNode right)

  - ### Method Detail

    - #### parent

          public List<PlanNode> parent()

    - #### getJoined

          public PlanNode getJoined(Class<? extends PushablePlanNode> type)

    - #### getDiscardedLeft

          public PlanNode getDiscardedLeft(Class<? extends PushablePlanNode> type)

    - #### getDiscardedRight

          public PlanNode getDiscardedRight(Class<? extends PushablePlanNode> type)

    - #### iterator

          public CloseableIteration<Tuple,SailException> iterator()

      Specified by:
        `iterator` in interface `PlanNode`

    - #### internalIterator

          public CloseableIteration<Tuple,SailException> internalIterator()

    - #### depth

          public int depth()

      Specified by:
        `depth` in interface `PlanNode`

    - #### getPlanAsGraphvizDot

          public void getPlanAsGraphvizDot(StringBuilder stringBuilder)

      Specified by:
        `getPlanAsGraphvizDot` in interface `PlanNode`

    - #### getId

          public String getId()

      Specified by:
        `getId` in interface `PlanNode`

    - #### getIteratorDataType

          public IteratorData getIteratorDataType()

      Specified by:
        `getIteratorDataType` in interface `PlanNode`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### init

          public void init()

      Specified by:
        `init` in interface `MultiStreamPlanNode`

    - #### close

          public void close()

      Specified by:
        `close` in interface `MultiStreamPlanNode`

    - #### incrementIterator

          public boolean incrementIterator()

      Specified by:
        `incrementIterator` in interface `MultiStreamPlanNode`

    - #### receiveLogger

          public void receiveLogger(ValidationExecutionLogger validationExecutionLogger)

      Specified by:
        `receiveLogger` in interface `PlanNode`

Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.