Package com.tibco.patterns.grouping

## Class Grouping

- java.lang.Object
- - com.tibco.patterns.grouping.Grouping

-     public final class Grouping
      extends java.lang.Object

  Implements the grouping algorithms.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Grouping()` | Creates a Grouping object with default options.
    `Grouping​(GroupingOptions options)` | Creates a Grouping object with the specified options.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `GroupingStatistics` | `createGroups​(java.lang.Iterable<InputPair> pairs, IGroupOutput output)` |
    `void` | `setProgress​(IGroupingProgress output, java.lang.Float emit_by_percent, java.lang.Integer emit_by_pairs_processed, boolean emit_skip_messages)` | Determine which messages to output during grouping.

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

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

- - ### Constructor Detail

    - #### Grouping

          public Grouping()

      Creates a Grouping object with default options.

    - #### Grouping

          public Grouping​(GroupingOptions options)

      Creates a Grouping object with the specified options.
      Parameters:
        `options` - specific options for this grouping.

  - ### Method Detail

    - #### setProgress

          public void setProgress​(IGroupingProgress output,
                                  java.lang.Float emit_by_percent,
                                  java.lang.Integer emit_by_pairs_processed,
                                  boolean emit_skip_messages)
                           throws GroupingException

      Determine which messages to output during grouping. Progress messages will not be emitted unless this is called.
      Parameters:
        `output` - Object to write messages to. Must not be null.
        `emit_by_percent` - The percent-complete interval at which to emit progress messages. E.g. to emit a progress message every 5% complete, pass 0.05f. Pass null to suppress percent-complete messages.
        `emit_by_pairs_processed` - Passing a positive number will cause a message to be emitted every time that number of pairs has been processed.
        `emit_skip_messages` - Enable this to have a message emitted whenever a pair is skipped.
      Throws:
        `GroupingException` - never, now throws IllegalArgumentException instead.

    - #### createGroups

          public GroupingStatistics createGroups​(java.lang.Iterable<InputPair> pairs,
                                                 IGroupOutput output)
                                          throws GroupingException,
                                                 java.lang.Exception

      Throws:
        `GroupingException`
        `java.lang.Exception`