## 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
`class` `MixedJoin.JoinIterator`

Field Summary
`static boolean` `INNER` Field INNER
`static boolean` `OUTER` Field OUTER

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

Method Summary
`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-2014 Concurrent, Inc. All Rights Reserved.