cascading.flow.stream.element

## Class MemorySpliceGate

- java.lang.Object
- - cascading.flow.stream.duct.Duct<Incoming,Outgoing>
  - - cascading.flow.stream.duct.Gate<Incoming,Outgoing>
    - - cascading.flow.stream.element.SpliceGate<TupleEntry,Grouping<TupleEntry,TupleEntryIterator>>
      - - cascading.flow.stream.element.GroupingSpliceGate
        - - cascading.flow.stream.element.MemorySpliceGate

All Implemented Interfaces:
  Collapsing, Window, ElementDuct

Direct Known Subclasses:
  MemoryCoGroupGate, MemoryHashJoinGate

    public abstract class MemorySpliceGate
    extends GroupingSpliceGate

### Nested Class Summary

### Nested classes/interfaces inherited from class cascading.flow.stream.element.GroupingSpliceGate

`GroupingSpliceGate.DelegatedTuple`

### Field Summary

Fields
`protected MemoryCoGroupClosure` `closure`
`protected java.util.concurrent.atomic.AtomicInteger` `count`
`protected java.util.Set<Tuple>` `keys`
`protected java.util.Map<Tuple,java.util.Collection<Tuple>>[]` `keyValues`
`protected int` `numIncomingEventingPaths`

### Fields inherited from class cascading.flow.stream.element.GroupingSpliceGate

`groupComparators, groupHasher, grouping, groupSortTuple, groupTuple, keyBuilder, keyEntry, keyFields, keyTuple, nullsAreNotEqual, sortBuilder, sortFields, tupleEntryIterator, valueComparators, valuesBuilder, valuesFields, valueTuple`

### Fields inherited from class cascading.flow.stream.element.SpliceGate

`flowProcess, incomingScopes, outgoingScopes, role, splice`

### Fields inherited from class cascading.flow.stream.duct.Duct

`next`

### Constructor Summary

Constructors
Constructor and Description
`MemorySpliceGate(FlowProcess flowProcess, Splice splice)`

### Method Summary

Methods
`void` `bind(StreamGraph streamGraph)`
`protected TupleBuilder` `createDefaultNarrowBuilder(Fields incomingFields, Fields narrowFields)`
`protected java.util.Set<Tuple>` `createKeySet()`
`protected java.util.Map<Tuple,java.util.Collection<Tuple>>[]` `createKeyValuesArray()` This lets us just replace an old map and let the gc cleanup, vs clearing each map
`protected java.util.Map<Tuple,java.util.Collection<Tuple>>` `createTupleMap()`
`void` `initialize()` Called immediately after bind
`protected abstract boolean` `isBlockingStreamed()`
`void` `prepare()`

### Methods inherited from class cascading.flow.stream.element.GroupingSpliceGate

`cleanup, createNarrowBuilder, createNulledBuilder, getDelegatedTuple, getKeyComparator, getNumDeclaredIncomingBranches, initComparators`

### Methods inherited from class cascading.flow.stream.element.SpliceGate

`equals, getBranchNames, getFlowElement, getIncomingScopes, getOutgoingScopes, getSplice, handleException, handleReThrowableException, hashCode, hasTrapHandler, setBranchNames, setTrapHandler, toString`

### Methods inherited from class cascading.flow.stream.duct.Duct

`complete, getNext, getNextFor, receive, receiveFirst, start`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### keys

    protected java.util.Set<Tuple> keys

#### keyValues

    protected java.util.Map<Tuple,java.util.Collection<Tuple>>[] keyValues

#### closure

    protected MemoryCoGroupClosure closure

#### numIncomingEventingPaths

    protected int numIncomingEventingPaths

#### count

    protected final java.util.concurrent.atomic.AtomicInteger count

### Constructor Detail

#### MemorySpliceGate

    public MemorySpliceGate(FlowProcess flowProcess,
                    Splice splice)

### Method Detail

#### bind

    public void bind(StreamGraph streamGraph)

Overrides:
  `bind` in class `Duct<TupleEntry,Grouping<TupleEntry,TupleEntryIterator>>`

#### createDefaultNarrowBuilder

    protected TupleBuilder createDefaultNarrowBuilder(Fields incomingFields,
                                          Fields narrowFields)

Overrides:
  `createDefaultNarrowBuilder` in class `GroupingSpliceGate`

#### initialize

    public void initialize()

Description copied from class: `Duct`
Called immediately after bind

Overrides:
  `initialize` in class `GroupingSpliceGate`

#### prepare

    public void prepare()

Overrides:
  `prepare` in class `Duct<TupleEntry,Grouping<TupleEntry,TupleEntryIterator>>`

#### createKeySet

    protected java.util.Set<Tuple> createKeySet()

#### createKeyValuesArray

    protected java.util.Map<Tuple,java.util.Collection<Tuple>>[] createKeyValuesArray()

This lets us just replace an old map and let the gc cleanup, vs clearing each map

Returns:
  of type Map

#### createTupleMap

    protected java.util.Map<Tuple,java.util.Collection<Tuple>> createTupleMap()

#### isBlockingStreamed

    protected abstract boolean isBlockingStreamed()