com.hammurapi.common

## Class LocalJoiner<T,C,R>

- java.lang.Object
- - com.hammurapi.common.Joiner<T,C,R>
  - - com.hammurapi.common.LocalJoiner<T,C,R>

- Type Parameters:
    `T` -
    `C` -
    `R` -

      public abstract class LocalJoiner<T,C,R>
      extends Joiner<T,C,R>

  LocalJoiner uses java.util.concurrent.locks.ReentrantLock to protect simultaneous access to input collectors.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.hammurapi.common.Joiner

      `Joiner.CollectionAdapter<T>, Joiner.Collector<T>, Joiner.InputConsumer`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `LocalJoiner(Joiner.Collector<T>[] inputCollectors, Class<T> inputType, boolean outerJoin)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `endJoin()` This method is invoked after join is finished.
    `protected void` | `startJoin()` Start join is invoked before join.

    - ### Methods inherited from class com.hammurapi.common.Joiner

      `addInput, addPredicate, isValidInput, join, join, partialJoin, reset`

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

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

- - ### Constructor Detail

    - #### LocalJoiner

          protected LocalJoiner(Joiner.Collector<T>[] inputCollectors,
                     Class<T> inputType,
                     boolean outerJoin)

  - ### Method Detail

    - #### startJoin

          protected void startJoin()

      Description copied from class: `Joiner`
      Start join is invoked before join. Typically this method shall obtain a lock on input collectors.
      Specified by:
        `startJoin` in class `Joiner<T,C,R>`

    - #### endJoin

          protected void endJoin()

      Description copied from class: `Joiner`
      This method is invoked after join is finished. Typically this method shall release the lock on input collectors.
      Specified by:
        `endJoin` in class `Joiner<T,C,R>`