cascading.pipe.joiner

## Class MixedJoin

- java.lang.Object
- - cascading.pipe.joiner.BaseJoiner
  - - cascading.pipe.joiner.MixedJoin

- All Implemented Interfaces:
    DeclaresResults, Joiner, Serializable

      public class MixedJoin
      extends BaseJoiner

  Class MixedJoin will return an `Iterator` that will iterate over a given `Joiner` and return tuples that represent a join as defined by the given boolean array.

  So if joining three streams, `boolean []{true,false,false}` will result in a 'inner', 'outer', 'outer' join.

  Joins perform based on the equality of the join keys. In the case of null values, Java treats two null values as equivalent. SQL does not treat null values as equal. To produce SQL like results in a given join, a new `Comparator` will need to be used on the joined values to prevent null from equaling null. As a convenience, see the `NullNotEquivalentComparator` class.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MixedJoin.JoinIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `INNER` Field INNER
    `static boolean` | `OUTER` Field OUTER

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MixedJoin(boolean[] asInner)` Constructor MixedJoin creates a new MixedJoin instance.
    `MixedJoin(Fields fieldDeclaration, boolean[] asInner)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<Tuple>` | `getIterator(JoinerClosure closure)` Returns an iterator that joins the given CoGroupClosure co-groups.
    `int` | `numJoins()` Returns the number of joins this instance can handle.

    - ### Methods inherited from class cascading.pipe.joiner.BaseJoiner

      `getFieldDeclaration`

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

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

- - ### Field Detail

    - #### INNER

          public static boolean INNER

      Field INNER

    - #### OUTER

          public static boolean OUTER

      Field OUTER

  - ### Constructor Detail

    - #### MixedJoin

          @ConstructorProperties(value="asInner")
          public MixedJoin(boolean[] asInner)

      Constructor MixedJoin creates a new MixedJoin instance.
      Parameters:
        `asInner` - of type boolean[]

    - #### MixedJoin

          @ConstructorProperties(value={"fieldDeclaration","asInner"})
          public MixedJoin(Fields fieldDeclaration,
                                              boolean[] asInner)

  - ### Method Detail

    - #### numJoins

          public int numJoins()

      Description copied from interface: `Joiner`
      Returns the number of joins this instance can handle. A value of -1 denotes there is no limit.
      Returns:
        an int
      See Also:
        `Joiner.numJoins()`

    - #### getIterator

          public Iterator<Tuple> getIterator(JoinerClosure closure)

      Description copied from interface: `Joiner`
      Returns an iterator that joins the given CoGroupClosure co-groups.
      Parameters:
        `closure` - of type GroupClosure
      Returns:
        an iterator

Copyright © 2007-2015 Concurrent, Inc. All Rights Reserved.