cascading.pipe.joiner
Class MixedJoin

java.lang.Object
  extended by cascading.pipe.joiner.BaseJoiner
      extended by 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-2015 Concurrent, Inc. All Rights Reserved.