<html devsite="true">
  <head>
    <title>Three</title>
{% setvar book_path %}/reference/dokkatest/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <h1>Three</h1>
{% setvar page_path %}dokkatest/simple/Three.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_java_switcher2.md" %}
    <p>
      <pre>enum Three</pre>
    </p>
    <hr>
    <h2>Summary</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="2"><h3>Enum Values</h3></th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><code>A</code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code>B</code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code>C</code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="2"><h3>Public fields</h3></th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><code>final <a href="/reference/kotlin/String.html">String</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/dokkatest/simple/Three.html#letter()">letter</a></code></div>
            </td>
          </tr>
          <tr>
            <td><code>final <a href="/reference/kotlin/String.html">String</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/dokkatest/simple/Three.html#name()">name</a></code></div>
            </td>
          </tr>
          <tr>
            <td><code>final int</code></td>
            <td width="100%">
              <div><code><a href="/reference/dokkatest/simple/Three.html#ordinal()">ordinal</a></code></div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Enum Values</h2>
    <div>
      <h3 class="api-name" id="A">A</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/dokkatest/simple/Three.html">Three</a>&nbsp;<a href="/reference/dokkatest/simple/Three.A.html">Three.A</a></pre>
    </div>
    <div>
      <h3 class="api-name" id="B">B</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/dokkatest/simple/Three.html">Three</a>&nbsp;<a href="/reference/dokkatest/simple/Three.B.html">Three.B</a></pre>
    </div>
    <div>
      <h3 class="api-name" id="C">C</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/dokkatest/simple/Three.html">Three</a>&nbsp;<a href="/reference/dokkatest/simple/Three.C.html">Three.C</a></pre>
    </div>
    <h2>Public fields</h2>
    <div><a name="getLetter()"></a><a name="setLetter()"></a><a name="getLetter--"></a><a name="setLetter--"></a>
      <h3 class="api-name" id="letter()">letter</h3>
      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;<a href="/reference/kotlin/String.html">String</a>&nbsp;<a href="/reference/dokkatest/simple/Three.html#letter()">letter</a></pre>
    </div>
    <div><a name="getName()"></a><a name="setName()"></a><a name="getName--"></a><a name="setName--"></a>
      <h3 class="api-name" id="name()">name</h3>
      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;<a href="/reference/kotlin/String.html">String</a>&nbsp;<a href="/reference/dokkatest/simple/Three.html#name()">name</a></pre>
    </div>
    <div><a name="getOrdinal()"></a><a name="setOrdinal()"></a><a name="getOrdinal--"></a><a name="setOrdinal--"></a>
      <h3 class="api-name" id="ordinal()">ordinal</h3>
      <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;int&nbsp;<a href="/reference/dokkatest/simple/Three.html#ordinal()">ordinal</a></pre>
    </div>
  </body>
</html>
