# Package com.tibco.patterns.grouping

- Interface Summary
  Interface | Description
  --- | ---
  IGroupingProgress | Implement this interface to control progress messages are handled.
  IGroupOutput | Implemented by the application to define how groups are stored.
  IStringKeyMapping | Implement this interface when the incoming keys are strings.

- Class Summary
  Class | Description
  --- | ---
  CsvGroupOutput | Writes grouping output to a set of three files, one each for pairs, records, and groups.
  CsvInputOptions |
  CsvPairInput | Generates a sequence of pairs from a csv file.
  GroupedPair | Wraps an input pair with relevant grouping information. Used only during group output.
  GroupedRecord | Bundles the information relevant to the grouping of a particular record.
  Grouping | Implements the grouping algorithms.
  GroupingOptions | Holds the options applicable to a grouping. To ensure all records are grouped, set `add_threshold` to 0.0 and `max_group_size` to a large number.
  GroupingStatistics |
  InputPair | Base class for pairs streamed into the grouping engine.
  KeyedInputPair | An extension of InputPair that provides an integer pair key.
  StringIntegerKeyMapping | Maintains a mapping of internal to external record keys.
  StringKeyMapping | Maintains a mapping of internal to external record keys.

- Enum Summary
  Enum | Description
  --- | ---
  CsvKeyHandling | Choices for handling of pair and record keys in a csv input file.
  SkipReason | Lists the reasons a pair might be skipped.

- Exception Summary
  Exception | Description
  --- | ---
  GroupingException | General exception thrown by the grouping engine.