> ## Documentation Index
> Fetch the complete documentation index at: https://cantonfoundation-generated-references-canton-protobuf-histo.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Choice

> This represents a Daml choice that can be exercised on ContractIds of type ContractId&lt;Tpl>.

<div class="x2mdx-ref-page x2mdx-ref-page--collection" />

<p class="x2mdx-ref-back"><a href="./index">Back to package</a></p>

<div class="x2mdx-ref-hero">
  <p class="x2mdx-ref-eyebrow">com.daml.ledger.javaapi.data.codegen</p>

  <h1 class="x2mdx-ref-title">Choice</h1>

  <p class="x2mdx-ref-summary">This represents a Daml choice that can be exercised on ContractIds of type ContractId\<Tpl>.</p>

  <div class="x2mdx-ref-badges">
    <span class="x2mdx-ref-badge x2mdx-ref-badge--protocol">Java</span>
  </div>

  <div class="x2mdx-ref-meta-grid">
    <div class="x2mdx-ref-meta-item">
      <span class="x2mdx-ref-meta-label">Package</span>
      <span class="x2mdx-ref-meta-value">com.daml.ledger.javaapi.data.codegen</span>
    </div>

    <div class="x2mdx-ref-meta-item">
      <span class="x2mdx-ref-meta-label">Upstream docs</span>
      <span class="x2mdx-ref-meta-value"><a href="https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html">Open Javadoc</a></span>
    </div>
  </div>
</div>

## Signature

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
public final class Choice<Tpl,ArgType,ResType> extends Object
```

## Members

| Member | Lifecycle | Upstream docs |
| - | - | - |
| `argJsonDecoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#argJsonDecoder) |
| `argJsonEncoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#argJsonEncoder) |
| `argTypeDecoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#argTypeDecoder) |
| `encodeArg` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#encodeArg) |
| `name` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#name) |
| `resultJsonDecoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#resultJsonDecoder) |
| `resultJsonEncoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#resultJsonEncoder) |
| `returnTypeDecoder` | - | [Open](https://javadoc.io/doc/com.daml/bindings-java/3.5.17/com/daml/ledger/javaapi/data/codegen/Choice.html#returnTypeDecoder) |
