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

# Type

> Type — Kinetica Java API

<div className="kinetica-javadoc">
  <div className="header">
    <div className="sub-title"><span className="package-label-in-type">Package</span> <a href="/content/api/java/com/gpudb/package-summary">com.gpudb</a></div>
    <h1 title="Class Type" className="title">Class Type</h1>
  </div>

  <div className="inheritance" title="Inheritance Tree">
    <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">java.lang.Object</a>
    <div className="inheritance">com.gpudb.Type</div>
  </div>

  <div className="section class-description" id="class-description">
    <div className="dl notes">
      <div className="dt">All Implemented Interfaces:</div>
      <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" className="external-link">Serializable</a></code></div>
    </div>

    <hr />

    <div className="type-signature"><span className="modifiers">public final class </span><span className="element-name type-name-label">Type</span> <span className="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" className="external-link">Serializable</a></span></div>
    <div className="block">Immutable collection of metadata about a GPUdb type.</div>

    <div className="dl notes">
      <div className="dt">See Also:</div>

      <div className="dd">
        <ul className="tag-list">
          <li><a href="/content/api/java/serialized-form#com.gpudb.Type">Serialized Form</a></li>
        </ul>
      </div>
    </div>
  </div>

  <div className="section summary">
    <ul className="summary-list">
      <li>
        <div className="section nested-class-summary" id="nested-class-summary">
          <h2>Nested Class Summary</h2>
          <div className="caption"><span>Nested Classes</span></div>

          <div className="summary-table three-column-summary">
            <div className="table-header col-first">Modifier and Type</div>
            <div className="table-header col-second">Class</div>
            <div className="table-header col-last">Description</div>
            <div className="col-first even-row-color"><code>static final class </code></div>
            <div className="col-second even-row-color"><code><a href="/content/api/java/com/gpudb/Type.Column" className="type-name-link" title="class in com.gpudb">Type.Column</a></code></div>

            <div className="col-last even-row-color">
              <div className="block">Immutable collection of metadata about a column that is part of a GPUdb type.</div>
            </div>
          </div>
        </div>
      </li>

      <li>
        <div className="section constructor-summary" id="constructor-summary">
          <h2>Constructor Summary</h2>
          <div className="caption"><span>Constructors</span></div>

          <div className="summary-table two-column-summary">
            <div className="table-header col-first">Constructor</div>
            <div className="table-header col-last">Description</div>
            <div className="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(com.gpudb.Type.Column...)" className="member-name-link">Type</a><wbr />(<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>... columns)</code></div>

            <div className="col-last even-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified column metadata and an empty type label.</div>
            </div>

            <div className="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" className="member-name-link">Type</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeSchema)</code></div>

            <div className="col-last odd-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with column metadata from an Avro record schema and an empty type label.</div>
            </div>

            <div className="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,com.gpudb.Type.Column...)" className="member-name-link">Type</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>... columns)</code></div>

            <div className="col-last even-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified metadata.</div>
            </div>

            <div className="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.util.Map)" className="member-name-link">Type</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeSchema, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties)</code></div>

            <div className="col-last odd-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with metadata in the format returned from the GPUdb /show/table or /show/types endpoints.</div>
            </div>

            <div className="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.util.List)" className="member-name-link">Type</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columns)</code></div>

            <div className="col-last even-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified metadata.</div>
            </div>

            <div className="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.util.List)" className="member-name-link">Type</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columns)</code></div>

            <div className="col-last odd-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified column metadata and an empty type label.</div>
            </div>
          </div>
        </div>
      </li>

      <li>
        <div className="section method-summary" id="method-summary">
          <h2>Method Summary</h2>

          <div id="method-summary-table">
            <div className="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabIndex="0" className="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabIndex="-1" className="table-tab">Concrete Methods</button></div>

            <div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
              <div className="summary-table three-column-summary">
                <div className="table-header col-first">Modifier and Type</div>
                <div className="table-header col-second">Method</div>
                <div className="table-header col-last">Description</div>
                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#create(com.gpudb.GPUdb)" className="member-name-link">create</a><wbr />(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Creates a type in GPUdb based on the metadata in the <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object and returns the type ID for reference.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" className="member-name-link">equals</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> obj)</code></div>
                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromDynamicSchema(java.lang.String,java.nio.ByteBuffer)" className="member-name-link">fromDynamicSchema</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> schemaString, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" className="external-link">ByteBuffer</a> encodedData)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
                  <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified dynamic schema metadata and encoded dynamic table data.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromTable(com.gpudb.GPUdb,java.lang.String)" className="member-name-link">fromTable</a><wbr />(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> tableName)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
                  <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object containing metadata for the GPUdb type of an existing table in GPUdb.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromType(com.gpudb.GPUdb,java.lang.String)" className="member-name-link">fromType</a><wbr />(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeId)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
                  <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object containing metadata for an existing type in GPUdb.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBaseDefinition()" className="member-name-link">getBaseDefinition</a>()</code></div>
                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getColumn(int)" className="member-name-link">getColumn</a><wbr />(int index)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the column with the specified index.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getColumn(java.lang.String)" className="member-name-link">getColumn</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> name)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the column with the specified name.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getColumnCount()" className="member-name-link">getColumnCount</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the number of columns.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getColumnIndex(java.lang.String)" className="member-name-link">getColumnIndex</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> name)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the index of the column with the specified name.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a><wbr />\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getColumns()" className="member-name-link">getColumns</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the list of columns that the type comprises.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFullDefinition()" className="member-name-link">getFullDefinition</a>()</code></div>
                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLabel()" className="member-name-link">getLabel</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the user-defined description string which can be used to differentiate between data with otherwise identical schemas.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.avro.Schema</code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSchema()" className="member-name-link">getSchema</a>()</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Gets the Avro record schema for the type.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" className="member-name-link">hashCode</a>()</code></div>
                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
                <div className="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="/content/api/java/com/gpudb/Record" title="interface in com.gpudb">Record</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newInstance()" className="member-name-link">newInstance</a>()</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Creates a new <a href="/content/api/java/com/gpudb/Record" title="interface in com.gpudb"><code>Record</code></a> based on the type.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" className="member-name-link">toString</a>()</code></div>
                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
              </div>
            </div>
          </div>

          <div className="inherited-list">
            <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></h3>
            <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" className="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" className="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" className="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" className="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" className="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" className="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" className="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" className="external-link">wait</a></code>
          </div>
        </div>
      </li>
    </ul>
  </div>

  <div className="section details">
    <ul className="details-list">
      <li>
        <div className="section constructor-details" id="constructor-detail">
          <h2>Constructor Details</h2>

          <ul className="member-list">
            <li>
              <div className="section detail" id="<init>(com.gpudb.Type.Column...)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>... columns)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified column metadata and an empty type label.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>columns</code> - the list of columns that the type comprises</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if no columns are specified</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.util.List)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columns)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified column metadata and an empty type label.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>columns</code> - the list of columns that the type comprises</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if no columns are specified</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.lang.String,com.gpudb.Type.Column...)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>... columns)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified metadata.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>label</code> - a user-defined description string which can be used to differentiate between data with otherwise identical schemas</div>
                  <div className="dd"><code>columns</code> - the list of columns that the type comprises</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if no columns are specified</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.lang.String,java.util.List)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columns)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified metadata.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>label</code> - a user-defined description string which can be used to differentiate between data with otherwise identical schemas</div>
                  <div className="dd"><code>columns</code> - the list of columns that the type comprises</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if no columns are specified</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.lang.String)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeSchema)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with column metadata from an Avro record schema and an empty type label.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>typeSchema</code> - the Avro record schema for the type</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if <code>typeSchema</code> is invalid or contains unsupported field types</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="<init>(java.lang.String,java.lang.String,java.util.Map)">
                <h3>Type</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">Type</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> label, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeSchema, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>>> properties)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with metadata in the format returned from the GPUdb /show/table or /show/types endpoints.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>label</code> - a user-defined description string which can be used to differentiate between data with otherwise identical schemas</div>
                  <div className="dd"><code>typeSchema</code> - the Avro record schema for the type</div>
                  <div className="dd"><code>properties</code> - an optional map of column names to lists of properties that apply to those columns</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" className="external-link">IllegalArgumentException</a></code> - if <code>typeSchema</code> is invalid or contains unsupported field types, or if any <code>properties</code> are invalid</div>
                </div>
              </div>
            </li>
          </ul>
        </div>
      </li>

      <li>
        <div className="section method-details" id="method-detail">
          <h2>Method Details</h2>

          <ul className="member-list">
            <li>
              <div className="section detail" id="fromTable(com.gpudb.GPUdb,java.lang.String)">
                <h3>fromTable</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></span> <span className="element-name">fromTable</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> tableName)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object containing metadata for the GPUdb type of an existing table in GPUdb. Note that this method makes a request to GPUdb to obtain the metadata.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>gpudb</code> - the <a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb"><code>GPUdb</code></a> instance from which to obtain the metadata</div>
                  <div className="dd"><code>tableName</code> - the name of the table in GPUdb</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the created <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if the table does not exist or is not homogeneous, or if an error occurs during the request for metadata</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="fromType(com.gpudb.GPUdb,java.lang.String)">
                <h3>fromType</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></span> <span className="element-name">fromType</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> typeId)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object containing metadata for an existing type in GPUdb. Note that this method makes a request to GPUdb to obtain the metadata.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>gpudb</code> - the <a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb"><code>GPUdb</code></a> instance from which to obtain the metadata</div>
                  <div className="dd"><code>typeId</code> - the type ID of the type in GPUdb</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the created <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if the type does not exist or if an error occurs during the request for metadata</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="fromDynamicSchema(java.lang.String,java.nio.ByteBuffer)">
                <h3>fromDynamicSchema</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a></span> <span className="element-name">fromDynamicSchema</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> schemaString, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" className="external-link">ByteBuffer</a> encodedData)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object with the specified dynamic schema metadata and encoded dynamic table data.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>schemaString</code> - a String object containing the dynamic schema</div>
                  <div className="dd"><code>encodedData</code> - the binary encoded data that contains metadata on the dynamic schema</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the created <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if an error occurs during the processing of the metadata</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getLabel()">
                <h3>getLabel</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">getLabel</span>()</div>
                <div className="block">Gets the user-defined description string which can be used to differentiate between data with otherwise identical schemas.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the label string</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getColumns()">
                <h3>getColumns</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" className="external-link">List</a>\<<a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>></span> <span className="element-name">getColumns</span>()</div>
                <div className="block">Gets the list of columns that the type comprises.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the list of columns that the type comprises</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getColumn(int)">
                <h3>getColumn</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a></span> <span className="element-name">getColumn</span><wbr /><span className="parameters">(int index)</span></div>
                <div className="block">Gets the column with the specified index.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>index</code> - the column index</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the column with the specified index</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang" className="external-link">IndexOutOfBoundsException</a></code> - if the specified index is out of range</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getColumn(java.lang.String)">
                <h3>getColumn</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a></span> <span className="element-name">getColumn</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> name)</span></div>
                <div className="block">Gets the column with the specified name.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>name</code> - the column name</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the column with the specified name, or null if no such column exists</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getColumnCount()">
                <h3>getColumnCount</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">int</span> <span className="element-name">getColumnCount</span>()</div>
                <div className="block">Gets the number of columns.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the number of columns</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getColumnIndex(java.lang.String)">
                <h3>getColumnIndex</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">int</span> <span className="element-name">getColumnIndex</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> name)</span></div>
                <div className="block">Gets the index of the column with the specified name.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>name</code> - the column name</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the index of the column with the specified name, or -1 if no such column exists</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getSchema()">
                <h3>getSchema</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">org.apache.avro.Schema</span> <span className="element-name">getSchema</span>()</div>
                <div className="block">Gets the Avro record schema for the type.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the Avro record schema for the type</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="newInstance()">
                <h3>newInstance</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/Record" title="interface in com.gpudb">Record</a></span> <span className="element-name">newInstance</span>()</div>
                <div className="block">Creates a new <a href="/content/api/java/com/gpudb/Record" title="interface in com.gpudb"><code>Record</code></a> based on the type.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">a new <a href="/content/api/java/com/gpudb/Record" title="interface in com.gpudb"><code>Record</code></a></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="create(com.gpudb.GPUdb)">
                <h3>create</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">create</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb">GPUdb</a> gpudb)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
                <div className="block">Creates a type in GPUdb based on the metadata in the <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> object and returns the type ID for reference. If an identical type already exists in GPUdb, the type ID of the existing type will be returned and no new type will be created.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>gpudb</code> - the <a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb"><code>GPUdb</code></a> instance in which to create the type</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the type ID of the type in GPUdb</div>
                  <div className="dt">Throws:</div>
                  <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if an error occurs while creating the type</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getBaseDefinition()">
                <h3>getBaseDefinition</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">getBaseDefinition</span>()</div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getFullDefinition()">
                <h3>getFullDefinition</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">getFullDefinition</span>()</div>
              </div>
            </li>

            <li>
              <div className="section detail" id="equals(java.lang.Object)">
                <h3>equals</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">boolean</span> <span className="element-name">equals</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a> obj)</span></div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" className="external-link">equals</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="hashCode()">
                <h3>hashCode</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">int</span> <span className="element-name">hashCode</span>()</div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" className="external-link">hashCode</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="toString()">
                <h3>toString</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a></span> <span className="element-name">toString</span>()</div>

                <div className="dl notes">
                  <div className="dt">Overrides:</div>
                  <div className="dd"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" className="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                </div>
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
</div>
