## All Superinterfaces: `AggOrCompoundAgg`

---

public interface CompoundAgg
extends [AggOrCompoundAgg](/content/javadoc/com/rpl/rama/ops/AggOrCompoundAgg.html "interface in com.rpl.rama.ops"/index.html)

Static methods for making aggregation templates for [`Block.compoundAgg(com.rpl.rama.CompoundAgg)`](/content/javadoc/com/rpl/rama/Block.html#compoundAgg(com.rpl.rama.CompoundAgg)). A CompoundAgg template is a combination of maps and lists with aggregators at leaf nodes mirroring the desired structure of aggregation.

See Also:

- [Aggregator documentation](/content/docs/~/aggregators.html)

## Method Summary

| Modifier and Type | Method | Description |
| --- | --- | --- |
| `static CompoundAgg` | `list(AggOrCompoundAgg... aggOrCompoundAggs)` | Specifies a fixed-size list template |
| `static CompoundAgg` | `map(Object... args)` | Specifies a map template |

## Method Details

### map

static [CompoundAgg](/content/javadoc/com/rpl/rama/CompoundAgg.html "interface in com.rpl.rama"/index.html) map([Object](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")... args)

Specifies a map template

**Parameters:** `args` - Must be even number of arguments. Alternates between keys and aggregators. Keys can be value, var, or [`Expr`](/content/javadoc/com/rpl/rama/Expr.html "class in com.rpl.rama"/index.html). Aggregators can be Aggregator or further CompoundAgg template.

**Returns:** Template for use in [`Block.compoundAgg(com.rpl.rama.CompoundAgg)`](/content/javadoc/com/rpl/rama/Block.html#compoundAgg(com.rpl.rama.CompoundAgg))  
**See Also:**
- [Aggregator documentation](/content/docs/~/aggregators.html)

### list

static [CompoundAgg](/content/javadoc/com/rpl/rama/CompoundAgg.html "interface in com.rpl.rama"/index.html) list([AggOrCompoundAgg](/content/javadoc/com/rpl/rama/ops/AggOrCompoundAgg.html "interface in com.rpl.rama.ops"/index.html)... aggOrCompoundAggs)

Specifies a fixed-size list template

**Parameters:** `aggOrCompoundAggs` - Aggregator or further CompoundAgg templates.
