Package net.sf.saxon.expr.sort

## Class MergeInstr.MergeSource

- java.lang.Object
- - net.sf.saxon.expr.sort.MergeInstr.MergeSource

- Enclosing class:
    MergeInstr

      public static class MergeInstr.MergeSource
      extends java.lang.Object

  Inner class representing one merge source

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `java.util.Set<Accumulator>` | `accumulators` |
    `java.lang.String` | `baseURI` |
    `java.lang.Object` | `invertedAction` |
    `Location` | `location` |
    `SortKeyDefinitionList` | `mergeKeyDefinitions` |
    `SchemaType` | `schemaType` |
    `java.lang.String` | `sourceName` |
    `boolean` | `streamable` |
    `int` | `validation` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MergeSource​(MergeInstr mi)` |
    `MergeSource​(MergeInstr instruction, Expression forEachItem, Expression forEachStream, Expression rSelect, java.lang.String name, SortKeyDefinitionList sKeys, java.lang.String baseURI)` | Create a MergeSource object

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `MergeInstr.MergeSource` | `copyMergeSource​(MergeInstr newInstr, RebindingMap rebindings)` |
    `Expression` | `getForEachItem()` |
    `Expression` | `getForEachSource()` |
    `SortKeyDefinitionList` | `getMergeKeyDefinitionSet()` |
    `Expression` | `getRowSelect()` |
    `void` | `initForEachItem​(MergeInstr instruction, Expression forEachItem)` |
    `void` | `initForEachStream​(MergeInstr instruction, Expression forEachStream)` |
    `void` | `initRowSelect​(MergeInstr instruction, Expression rowSelect)` |
    `void` | `prepareForStreaming()` |
    `void` | `setForEachItem​(Expression forEachItem)` |
    `void` | `setForEachStream​(Expression forEachStream)` |
    `void` | `setMergeKeyDefinitionSet​(SortKeyDefinitionList keys)` |
    `void` | `setRowSelect​(Expression rowSelect)` |
    `void` | `setStreamable​(boolean streamable)` |

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### location

          public Location location

    - #### sourceName

          public java.lang.String sourceName

    - #### mergeKeyDefinitions

          public SortKeyDefinitionList mergeKeyDefinitions

    - #### baseURI

          public java.lang.String baseURI

    - #### validation

          public int validation

    - #### schemaType

          public SchemaType schemaType

    - #### streamable

          public boolean streamable

    - #### accumulators

          public java.util.Set<Accumulator> accumulators

    - #### invertedAction

          public java.lang.Object invertedAction

  - ### Constructor Detail

    - #### MergeSource

          public MergeSource​(MergeInstr mi)

    - #### MergeSource

          public MergeSource​(MergeInstr instruction,
                             Expression forEachItem,
                             Expression forEachStream,
                             Expression rSelect,
                             java.lang.String name,
                             SortKeyDefinitionList sKeys,
                             java.lang.String baseURI)

      Create a MergeSource object
      Parameters:
        `forEachItem` - the expression that selects anchor nodes, one per input sequence
        `forEachStream` - the expression that selects URIs of anchor nodes, one per input sequence
        `rSelect` - the select expression that selects items for the merge inputs, evaluated one per anchor node
        `name` - the name of the xsl:merge-source, or null if none specified
        `sKeys` - the merge key definitions
        `baseURI` - the base URI of the xsl:merge-source instruction

  - ### Method Detail

    - #### initForEachItem

          public void initForEachItem​(MergeInstr instruction,
                                      Expression forEachItem)

    - #### initForEachStream

          public void initForEachStream​(MergeInstr instruction,
                                        Expression forEachStream)

    - #### initRowSelect

          public void initRowSelect​(MergeInstr instruction,
                                    Expression rowSelect)

    - #### setStreamable

          public void setStreamable​(boolean streamable)

    - #### copyMergeSource

          public MergeInstr.MergeSource copyMergeSource​(MergeInstr newInstr,
                                                        RebindingMap rebindings)

    - #### getForEachItem

          public Expression getForEachItem()

    - #### setForEachItem

          public void setForEachItem​(Expression forEachItem)

    - #### getForEachSource

          public Expression getForEachSource()

    - #### setForEachStream

          public void setForEachStream​(Expression forEachStream)

    - #### getRowSelect

          public Expression getRowSelect()

    - #### setRowSelect

          public void setRowSelect​(Expression rowSelect)

    - #### getMergeKeyDefinitionSet

          public SortKeyDefinitionList getMergeKeyDefinitionSet()

    - #### setMergeKeyDefinitionSet

          public void setMergeKeyDefinitionSet​(SortKeyDefinitionList keys)

    - #### prepareForStreaming

          public void prepareForStreaming()
                                   throws XPathException

      Throws:
        `XPathException`