cascading.pipe

## Class Splice

- java.lang.Object
- - cascading.pipe.Pipe
  - - cascading.pipe.Splice

All Implemented Interfaces:
  FlowElement, ScopedElement, Traceable, java.io.Serializable

Direct Known Subclasses:
  CoGroup, GroupBy, HashJoin, Merge

    public class Splice
    extends Pipe

The base class for `GroupBy`, `CoGroup`, `Merge`, and `HashJoin`. This class should not be used directly.

See Also:
  `GroupBy`, `CoGroup`, `Merge`, `HashJoin`, Serialized Form

### Field Summary

Fields
`protected Fields` `declaredFields` Field declaredFields
`protected java.util.Map<java.lang.String,Fields>` `keyFieldsMap` Field groupFieldsMap
`protected Fields` `resultGroupFields` Field resultGroupFields
`protected java.util.Map<java.lang.String,Fields>` `sortFieldsMap` Field sortFieldsMap

### Fields inherited from class cascading.pipe.Pipe

`configDef, name, nodeConfigDef, parent, previous, stepConfigDef`

### Constructor Summary

Constructors
`protected` `Splice(Pipe... pipes)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe)` Constructor Splice creates a new Splice instance where grouping occurs on `Fields.ALL` fields.
`protected` `Splice(Pipe[] pipes, Fields groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe[] pipes, Fields[] groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe[] pipes, Fields groupFields, Fields sortFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe[] pipes, Fields groupFields, Fields sortFields, boolean reverseOrder)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, Fields sortFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, Fields sortFields, boolean reverseOrder)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe pipe, Fields groupFields, int numSelfJoins, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe... pipes)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields[] groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields[] groupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipe, Fields groupFields, Fields sortFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe[] pipes, Fields groupFields, Fields sortFields, boolean reverseOrder)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, Fields sortFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, Fields sortFields, boolean reverseOrder)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins, Fields declaredFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe pipe, Fields groupFields, int numSelfJoins, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Fields resultGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Fields declaredFields, Joiner joiner)` Constructor Splice creates a new Splice instance.
`protected` `Splice(java.lang.String spliceName, Pipe lhs, Fields lhsGroupFields, Pipe rhs, Fields rhsGroupFields, Joiner joiner)` Constructor Splice creates a new Splice instance.

### Method Summary

Methods
`boolean` `equals(java.lang.Object object)`
`Fields` `getDeclaredFields()` Method getDeclaredFields returns the declaredFields of this Splice object.
`Fields` `getJoinDeclaredFields()`
`Joiner` `getJoiner()`
`java.util.Map<java.lang.String,Fields>` `getKeySelectors()` Method getGroupingSelectors returns the groupingSelectors of this Splice object.
`java.lang.String` `getName()` Get the name of this pipe.
`int` `getNumSelfJoins()`
`java.util.Map<java.lang.String,java.lang.Integer>` `getPipePos()`
`Pipe[]` `getPrevious()` Get all the upstream pipes this pipe is connected to.
`java.util.Map<java.lang.String,Fields>` `getSortingSelectors()` Method getSortingSelectors returns the sortingSelectors of this Splice object.
`int` `hashCode()`
`boolean` `isCoGroup()`
`boolean` `isGroupBy()` Method isGroupBy returns true if this Splice instance will perform a GroupBy operation.
`boolean` `isJoin()`
`boolean` `isMerge()`
`boolean` `isSelfJoin()`
`boolean` `isSorted()` Method isSorted returns true if this Splice instance is sorting values other than the group fields.
`boolean` `isSortReversed()` Method isSortReversed returns true if sorting is reversed.
`Scope` `outgoingScopeFor(java.util.Set<Scope> incomingScopes)` Method outgoingScopeFor returns the Scope this FlowElement hands off to the next FlowElement.
`protected void` `printInternal(java.lang.StringBuffer buffer, Scope scope)`
`Fields` `resolveIncomingOperationPassThroughFields(Scope incomingScope)` Method resolveIncomingOperationPassThroughFields returns the Fields outgoing from the previous FlowElement that are consumable by this FlowElement when preparing the Pipe outgoing tuple.
`java.lang.String` `toString()`

### Methods inherited from class cascading.pipe.Pipe

`getConfigDef, getHeads, getNodeConfigDef, getParent, getStepConfigDef, getTrace, hasConfigDef, hasNodeConfigDef, hasStepConfigDef, id, named, names, pipes, print, resolveIncomingOperationArgumentFields, setParent`

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

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

### Field Detail

#### keyFieldsMap

    protected final java.util.Map<java.lang.String,Fields> keyFieldsMap

Field groupFieldsMap

#### sortFieldsMap

    protected java.util.Map<java.lang.String,Fields> sortFieldsMap

Field sortFieldsMap

#### declaredFields

    protected Fields declaredFields

Field declaredFields

#### resultGroupFields

    protected Fields resultGroupFields

Field resultGroupFields

### Constructor Detail

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Fields resultGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields
  `joiner` - of type Joiner

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields

#### Splice

    protected Splice(Pipe... pipes)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe...

#### Splice

    protected Splice(Pipe[] pipes,
          Fields[] groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields[] groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields[] groupFields,
          Fields declaredFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]
  `declaredFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields[] groupFields,
          Fields declaredFields,
          Fields resultGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields

#### Splice

    protected Splice(Pipe[] pipes,
          Fields[] groupFields,
          Fields declaredFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(Pipe[] pipes,
          Fields[] groupFields,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields
  `joiner` - of type Joiner

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields[] groupFields,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields[]
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Fields resultGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields
  `joiner` - of type Joiner

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe lhs,
          Fields lhsGroupFields,
          Pipe rhs,
          Fields rhsGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `lhs` - of type Pipe
  `lhsGroupFields` - of type Fields
  `rhs` - of type Pipe
  `rhsGroupFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe... pipes)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe...

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Fields resultGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields
  `joiner` - of type Joiner

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          int numSelfJoins)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Fields resultGroupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Fields declaredFields,
          Fields resultGroupFields,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `declaredFields` - of type Fields
  `resultGroupFields` - of type Fields
  `joiner` - of type Joiner

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins,
          Joiner joiner)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int
  `joiner` - of type CoGrouper

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          int numSelfJoins)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `numSelfJoins` - of type int

#### Splice

    protected Splice(Pipe pipe)

Constructor Splice creates a new Splice instance where grouping occurs on `Fields.ALL` fields.

Parameters:
  `pipe` - of type Pipe

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          Fields sortFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          Fields sortFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields

#### Splice

    protected Splice(Pipe pipe,
          Fields groupFields,
          Fields sortFields,
          boolean reverseOrder)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields
  `reverseOrder` - of type boolean

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe pipe,
          Fields groupFields,
          Fields sortFields,
          boolean reverseOrder)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields
  `reverseOrder` - of type boolean

#### Splice

    protected Splice(Pipe[] pipes,
          Fields groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe
  `groupFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields groupFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe
  `groupFields` - of type Fields

#### Splice

    protected Splice(Pipe[] pipes,
          Fields groupFields,
          Fields sortFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipe,
          Fields groupFields,
          Fields sortFields)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipe` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields

#### Splice

    protected Splice(Pipe[] pipes,
          Fields groupFields,
          Fields sortFields,
          boolean reverseOrder)

Constructor Splice creates a new Splice instance.

Parameters:
  `pipes` - of type Pipe
  `groupFields` - of type Fields
  `sortFields` - of type Fields
  `reverseOrder` - of type boolean

#### Splice

    protected Splice(java.lang.String spliceName,
          Pipe[] pipes,
          Fields groupFields,
          Fields sortFields,
          boolean reverseOrder)

Constructor Splice creates a new Splice instance.

Parameters:
  `spliceName` - of type String
  `pipes` - of type Pipe[]
  `groupFields` - of type Fields
  `sortFields` - of type Fields
  `reverseOrder` - of type boolean

### Method Detail

#### getDeclaredFields

    public Fields getDeclaredFields()

Method getDeclaredFields returns the declaredFields of this Splice object.

Returns:
  the declaredFields (type Fields) of this Splice object.

#### getName

    public java.lang.String getName()

Description copied from class: `Pipe`
Get the name of this pipe. Guaranteed non-null.

Overrides:
  `getName` in class `Pipe`
Returns:
  String the name of this pipe

#### getPrevious

    public Pipe[] getPrevious()

Description copied from class: `Pipe`
Get all the upstream pipes this pipe is connected to. This method will return the Pipe instances passed on the constructors as inputs to this Pipe instance.

Overrides:
  `getPrevious` in class `Pipe`
Returns:
  all the upstream pipes this pipe is connected to.

#### getKeySelectors

    public java.util.Map<java.lang.String,Fields> getKeySelectors()

Method getGroupingSelectors returns the groupingSelectors of this Splice object.

Returns:
  the groupingSelectors (type Map<String, Fields>) of this Splice object.

#### getSortingSelectors

    public java.util.Map<java.lang.String,Fields> getSortingSelectors()

Method getSortingSelectors returns the sortingSelectors of this Splice object.

Returns:
  the sortingSelectors (type Map<String, Fields>) of this Splice object.

#### isSorted

    public boolean isSorted()

Method isSorted returns true if this Splice instance is sorting values other than the group fields.

Returns:
  the sorted (type boolean) of this Splice object.

#### isSortReversed

    public boolean isSortReversed()

Method isSortReversed returns true if sorting is reversed.

Returns:
  the sortReversed (type boolean) of this Splice object.

#### getPipePos

    public java.util.Map<java.lang.String,java.lang.Integer> getPipePos()

#### getJoiner

    public Joiner getJoiner()

#### isGroupBy

    public final boolean isGroupBy()

Method isGroupBy returns true if this Splice instance will perform a GroupBy operation.

Returns:
  the groupBy (type boolean) of this Splice object.

#### isCoGroup

    public final boolean isCoGroup()

#### isMerge

    public final boolean isMerge()

#### isJoin

    public final boolean isJoin()

#### getNumSelfJoins

    public int getNumSelfJoins()

#### isSelfJoin

    public boolean isSelfJoin()

#### outgoingScopeFor

    public Scope outgoingScopeFor(java.util.Set<Scope> incomingScopes)

Description copied from interface: `ScopedElement`
Method outgoingScopeFor returns the Scope this FlowElement hands off to the next FlowElement.

Specified by:
  `outgoingScopeFor` in interface `ScopedElement`
Overrides:
  `outgoingScopeFor` in class `Pipe`
Parameters:
  `incomingScopes` - of type Set<Scope>
Returns:
  Scope

#### resolveIncomingOperationPassThroughFields

    public Fields resolveIncomingOperationPassThroughFields(Scope incomingScope)

Description copied from interface: `ScopedElement`
Method resolveIncomingOperationPassThroughFields returns the Fields outgoing from the previous FlowElement that are consumable by this FlowElement when preparing the Pipe outgoing tuple.

Specified by:
  `resolveIncomingOperationPassThroughFields` in interface `ScopedElement`
Overrides:
  `resolveIncomingOperationPassThroughFields` in class `Pipe`
Parameters:
  `incomingScope` - of type Scope
Returns:
  Fields

#### getJoinDeclaredFields

    public Fields getJoinDeclaredFields()

#### equals

    public boolean equals(java.lang.Object object)

Overrides:
  `equals` in class `Pipe`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Pipe`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Pipe`

#### printInternal

    protected void printInternal(java.lang.StringBuffer buffer,
                     Scope scope)

Overrides:
  `printInternal` in class `Pipe`