> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enums

> The framework's public enums ExposureMetric, Side, and ReportingOrCollateral, with their constants, labels, and usage.

The framework defines three enums in the `api/enums/` package. These are part of the public API and are used as parameters throughout the measure interfaces.

## ExposureMetric

`ExposureMetric` identifies the six exposure metrics that the framework can compute.

| Constant | Label | Numeric | Description |
| - | - | - | - |
| `PFE` | `"PFE"` | Yes | Potential Future Exposure: the quantile of the bank-side exposure distribution at the configured confidence level. |
| `EE` | `"EE"` | Yes | Expected Exposure: the mean of bank-side exposure across all scenarios. |
| `ES` | `"ES"` | Yes | Expected Shortfall: the mean of bank-side exposure over the tail scenarios, the largest values at and beyond the PFE position. |
| `ENE` | `"ENE"` | Yes | Expected Negative Exposure: the mean of counterparty-side exposure across all scenarios. |
| `PFE_INDEX` | `"PFE Scenario Index"` | No | The scenario index that produced the PFE value, starting at 1 with the default `index-offset`. |
| `PFE_SCENARIO_NAME` | `"PFE Scenario Name"` | No | The human-readable name of the PFE scenario. |

The `isNumeric()` method returns `true` for PFE, EE, ES, and ENE. It returns `false` for PFE\_INDEX and PFE\_SCENARIO\_NAME.

The `getNumericMetrics()` method returns an array of the four numeric metric constants.

Usage in the public API:

```java theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
IExposureMetrics metrics = grossMeasures.exposureMetrics();
NamedCopperMeasure pfe = metrics.getExposureMetric(ExposureMetric.PFE);
// or via convenience method:
NamedCopperMeasure pfeConvenience = metrics.getPotentialFutureExposure();
```

## Side

`Side` identifies which counterparty perspective the exposure is computed from.

| Constant | Label | Description |
| - | - | - |
| `BANK` | `"Bank"` | The bank's perspective. Bank-side exposure is the positive part of the MtF sum: loss if the counterparty defaults and the position has positive value to the bank. |
| `CPTY` | `"Cpty"` | The counterparty's perspective. Counterparty-side exposure is the negative part: the value of the position from the counterparty's point of view. |

The `other()` method returns the opposite side: `BANK.other()` returns `CPTY` and vice versa.

The `getLabel()` method returns the string label (`"Bank"` or `"Cpty"`), which is used as a suffix in measure names.

## ReportingOrCollateral

`ReportingOrCollateral` classifies each simulation date in the `SimulationDates` table.

| Constant | Description |
| - | - |
| `R` | The time point is used for reporting purposes (exposure metrics, profile output). |
| `C` | The time point is used for collateral evaluation only (intermediate date needed for the holding-period look-back). Collateral algorithms skip these time points when they compute balances and exposures. |

A time point can appear in `SimulationDates` with value `R` (reporting only), `C` (collateral only), or both (by having two rows, or by a consuming cube supplying its own classification logic).

## Related pages

* [Public API](./public-api)
* [Exposure concepts](../introduction/exposure-concepts)
* [Collateral algorithms](../developer-guide/cube/collateral-evaluator-framework)
* [Data model](../developer-guide/database/database-model)
