# Interface Aggregator

public interface Aggregator
Defines an aggregation operation. An instance of this class can take multiple values associated with a given metadata item, and collapse them down to a single value.

Since:
  16 Nov 2022
Author:
  Mark Taylor

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`Aggregator.Accumulator`
Can accumulate multiple data items of a consistent type and yield an aggregate value corresponding to the set.
`static interface`
`Aggregator.Aggregation`
Object that can manage aggregation for a given type of input data.

## Method Summary

Modifier and Type
Method
Description
`Aggregator.Aggregation`
`createAggregation(uk.ac.starlink.table.ValueInfo info)`
Creates an object that can manage aggregation for data described by given metadata.
`String`
`getDescription()`
Returns a short textual description for this aggregator.
`String`
`getName()`
Returns the name of this aggregator.

## Method Details

### getName

String getName()
Returns the name of this aggregator.

Returns:
  user-readable short name

### getDescription

String getDescription()
Returns a short textual description for this aggregator.

Returns:
  plain text description

### createAggregation

Aggregator.Aggregation createAggregation(uk.ac.starlink.table.ValueInfo info)
Creates an object that can manage aggregation for data described by given metadata. If the metadata describes data that is not suitable for use by this object, null is returned.

Parameters:
  `info` - input data description
Returns:
  new aggregation, or null