Package org.eclipse.rdf4j.sail.shacl.ast.planNodes

## Class InnerJoin

- java.lang.Object
- - org.eclipse.rdf4j.sail.shacl.ast.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 | Description
    --- | ---
    `InnerJoin​(PlanNode left, PlanNode right)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `int` | `depth()` |
    `PlanNode` | `getDiscardedLeft​(Class<? extends PushablePlanNode> type)` |
    `PlanNode` | `getDiscardedRight​(Class<? extends PushablePlanNode> type)` |
    `String` | `getId()` |
    `PlanNode` | `getJoined​(Class<? extends PushablePlanNode> type)` |
    `void` | `getPlanAsGraphvizDot​(StringBuilder stringBuilder)` |
    `boolean` | `incrementIterator()` |
    `void` | `init()` |
    `CloseableIteration<ValidationTuple,​SailException>` | `internalIterator()` |
    `CloseableIteration<? extends ValidationTuple,​SailException>` | `iterator()` |
    `List<PlanNode>` | `parent()` |
    `boolean` | `producesSorted()` |
    `void` | `receiveLogger​(ValidationExecutionLogger validationExecutionLogger)` |
    `boolean` | `requiresSorted()` |
    `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<? extends ValidationTuple,​SailException> iterator()

      Specified by:
        `iterator` in interface `PlanNode`

    - #### internalIterator

          public CloseableIteration<ValidationTuple,​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`

    - #### 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`

    - #### producesSorted

          public boolean producesSorted()

      Specified by:
        `producesSorted` in interface `PlanNode`

    - #### requiresSorted

          public boolean requiresSorted()

      Specified by:
        `requiresSorted` in interface `PlanNode`