cascading.pipe.joiner

## Class MixedJoin

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

All Implemented Interfaces:
  DeclaresResults, Joiner, java.io.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
`class` `MixedJoin.JoinIterator`

### Field Summary

Fields
`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
`java.util.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 java.util.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