> ## 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.

# TypeObjectMap

> TypeObjectMap — 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 TypeObjectMap" className="title">Class TypeObjectMap\<T></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.TypeObjectMap\<T></div>
  </div>

  <div className="section class-description" id="class-description">
    <hr />

    <div className="type-signature"><span className="modifiers">public final class </span><span className="element-name type-name-label">TypeObjectMap\<T></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></span></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 interface </code></div>
            <div className="col-second even-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.Accessor" className="type-name-link" title="interface in com.gpudb">TypeObjectMap.Accessor</a></code></div>

            <div className="col-last even-row-color">
              <div className="block">An accessor that returns a value from an object.</div>
            </div>

            <div className="col-first odd-row-color"><code>static final class </code></div>
            <div className="col-second odd-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.ClassFactory" className="type-name-link" title="class in com.gpudb">TypeObjectMap.ClassFactory</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap.ClassFactory" title="type parameter in TypeObjectMap.ClassFactory">T</a>></code></div>

            <div className="col-last odd-row-color">
              <div className="block">A factory that uses reflection to create new instances of the specified class.</div>
            </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/TypeObjectMap.ConvertingFieldHandler" className="type-name-link" title="class in com.gpudb">TypeObjectMap.ConvertingFieldHandler</a></code></div>

            <div className="col-last even-row-color">
              <div className="block">A combined <a href="/content/api/java/com/gpudb/TypeObjectMap.Accessor" title="interface in com.gpudb"><code>TypeObjectMap.Accessor</code></a> and <a href="/content/api/java/com/gpudb/TypeObjectMap.Mutator" title="interface in com.gpudb"><code>TypeObjectMap.Mutator</code></a> that provides access to a specified field using reflection, converting the value to and from the data type of a specified GPUdb <a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb"><code>column</code></a>.</div>
            </div>

            <div className="col-first odd-row-color"><code>static final class </code></div>
            <div className="col-second odd-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.ConvertingMethodHandler" className="type-name-link" title="class in com.gpudb">TypeObjectMap.ConvertingMethodHandler</a></code></div>

            <div className="col-last odd-row-color">
              <div className="block">A combined <a href="/content/api/java/com/gpudb/TypeObjectMap.Accessor" title="interface in com.gpudb"><code>TypeObjectMap.Accessor</code></a> and <a href="/content/api/java/com/gpudb/TypeObjectMap.Mutator" title="interface in com.gpudb"><code>TypeObjectMap.Mutator</code></a> that provides access to a field via specified get and set methods using reflection, converting the value to and from the data type of a specified GPUdb <a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb"><code>column</code></a>.</div>
            </div>

            <div className="col-first even-row-color"><code>static interface </code></div>
            <div className="col-second even-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.Factory" className="type-name-link" title="interface in com.gpudb">TypeObjectMap.Factory</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap.Factory" title="type parameter in TypeObjectMap.Factory">T</a>></code></div>

            <div className="col-last even-row-color">
              <div className="block">A factory that creates new instances of the specified class.</div>
            </div>

            <div className="col-first odd-row-color"><code>static final class </code></div>
            <div className="col-second odd-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.FieldHandler" className="type-name-link" title="class in com.gpudb">TypeObjectMap.FieldHandler</a></code></div>

            <div className="col-last odd-row-color">
              <div className="block">A combined <a href="/content/api/java/com/gpudb/TypeObjectMap.Accessor" title="interface in com.gpudb"><code>TypeObjectMap.Accessor</code></a> and <a href="/content/api/java/com/gpudb/TypeObjectMap.Mutator" title="interface in com.gpudb"><code>TypeObjectMap.Mutator</code></a> that provides access to a specified field using reflection.</div>
            </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/TypeObjectMap.MethodHandler" className="type-name-link" title="class in com.gpudb">TypeObjectMap.MethodHandler</a></code></div>

            <div className="col-last even-row-color">
              <div className="block">A combined <a href="/content/api/java/com/gpudb/TypeObjectMap.Accessor" title="interface in com.gpudb"><code>TypeObjectMap.Accessor</code></a> and <a href="/content/api/java/com/gpudb/TypeObjectMap.Mutator" title="interface in com.gpudb"><code>TypeObjectMap.Mutator</code></a> that provides access to a field via specified get and set methods using reflection.</div>
            </div>

            <div className="col-first odd-row-color"><code>static interface </code></div>
            <div className="col-second odd-row-color"><code><a href="/content/api/java/com/gpudb/TypeObjectMap.Mutator" className="type-name-link" title="interface in com.gpudb">TypeObjectMap.Mutator</a></code></div>

            <div className="col-last odd-row-color">
              <div className="block">A mutator that sets a value in an object.</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,java.lang.Class,com.gpudb.TypeObjectMap.Factory,java.util.List,java.util.List)" className="member-name-link">TypeObjectMap</a><wbr />(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap" title="type parameter in TypeObjectMap">T</a>> objectClass, <a href="/content/api/java/com/gpudb/TypeObjectMap.Factory" title="interface in com.gpudb">TypeObjectMap.Factory</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap" title="type parameter in TypeObjectMap">T</a>> factory, <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/TypeObjectMap.Accessor" title="interface in com.gpudb">TypeObjectMap.Accessor</a>> accessors, <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/TypeObjectMap.Mutator" title="interface in com.gpudb">TypeObjectMap.Mutator</a>> mutators)</code></div>

            <div className="col-last even-row-color">
              <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> for the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class.</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="#createType(com.gpudb.GPUdb)" className="member-name-link">createType</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 specified <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</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-tab1 method-summary-table-tab4"><code>static \<T> <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a><wbr />\<T></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromClass(java.lang.Class)" className="member-name-link">fromClass</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass)</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/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified class.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static \<T> <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a><wbr />\<T></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromClass(java.lang.Class,java.lang.String,java.util.Map)" className="member-name-link">fromClass</a><wbr />(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass, <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/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="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columnOverrides)</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/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified class with the specified type label and overrides.</div>
                </div>

                <div className="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static \<T> <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a><wbr />\<T></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromType(com.gpudb.Type,java.lang.Class)" className="member-name-link">fromType</a><wbr />(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass)</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/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static \<T> <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a><wbr />\<T></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.Type,java.lang.Class,java.util.Map)" className="member-name-link">fromType</a><wbr />(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass, <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/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> columnOverrides)</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/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class with the specified overrides.</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/Object.html" title="class or interface in java.lang" className="external-link">Object</a></code></div>
                <div className="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(java.lang.Object,int)" className="member-name-link">get</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> o, int index)</code></div>

                <div className="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Returns the value of the column at the specified index from the specified object.</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/Class.html" title="class or interface in java.lang" className="external-link">Class</a><wbr />\<?></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getObjectClass()" className="member-name-link">getObjectClass</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Returns the class of the type object map.</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">Returns the Avro record schema of the type object map.</div>
                </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" title="class in com.gpudb">Type</a></code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getType()" className="member-name-link">getType</a>()</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Returns the GPUdb <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> of the type object map.</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/TypeObjectMap" title="type parameter in TypeObjectMap">T</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 instance of the class specified when the type object map was created.</div>
                </div>

                <div className="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
                <div className="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#put(java.lang.Object,int,java.lang.Object)" className="member-name-link">put</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> o, int index, <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> value)</code></div>

                <div className="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                  <div className="block">Sets the value of the column at the specified index in the specified object.</div>
                </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#equals(java.lang.Object)" title="class or interface in java.lang" className="external-link">equals</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#hashCode()" title="class or interface in java.lang" className="external-link">hashCode</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#toString()" title="class or interface in java.lang" className="external-link">toString</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,java.lang.Class,com.gpudb.TypeObjectMap.Factory,java.util.List,java.util.List)">
                <h3>TypeObjectMap</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="element-name">TypeObjectMap</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap" title="type parameter in TypeObjectMap">T</a>> objectClass, <a href="/content/api/java/com/gpudb/TypeObjectMap.Factory" title="interface in com.gpudb">TypeObjectMap.Factory</a>\<<a href="/content/api/java/com/gpudb/TypeObjectMap" title="type parameter in TypeObjectMap">T</a>> factory, <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/TypeObjectMap.Accessor" title="interface in com.gpudb">TypeObjectMap.Accessor</a>> accessors, <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/TypeObjectMap.Mutator" title="interface in com.gpudb">TypeObjectMap.Mutator</a>> mutators)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> for the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class. The specified <code>factory</code> must create new instances of the class, and the specified <code>accessors</code> and <code>mutators</code> must get and set the values in instances of the class corresponding to the columns in the type (the lists must be in column order and use the data types of the columns rather than any underlying fields in the class).</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>type</code> - the type</div>
                  <div className="dd"><code>objectClass</code> - the class</div>
                  <div className="dd"><code>factory</code> - factory that creates instances of the class</div>
                  <div className="dd"><code>accessors</code> - accessors that get column values from the class</div>
                  <div className="dd"><code>mutators</code> - mutators that set column values in the class</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="fromClass(java.lang.Class)">
                <h3>fromClass</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="type-parameters">\<T></span> <span className="return-type"><a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a>\<T></span> <span className="element-name">fromClass</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified class. All public fields and get/set method pairs with supported data types will be used as columns and ordered by name.</div>

                <div className="dl notes">
                  <div className="dt">Type Parameters:</div>
                  <div className="dd"><code>T</code> - the class</div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>objectClass</code> - the class</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the type object map</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 the specified class is not public</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="fromClass(java.lang.Class,java.lang.String,java.util.Map)">
                <h3>fromClass</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="type-parameters">\<T></span> <span className="return-type"><a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a>\<T></span> <span className="element-name">fromClass</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass, <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/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="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb">Type.Column</a>> columnOverrides)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified class with the specified type label and overrides. By default, all public fields and get/set method pairs with supported data types will be used as columns and ordered by name, but column names, data types and properties can be overridden with entries in the <code>columnOverrides</code> map. Each entry in the map must consist of the name of a field in the specified class (or for method pairs, the name following "get" and "set") as a key, and a <a href="/content/api/java/com/gpudb/Type.Column" title="class in com.gpudb"><code>Type.Column</code></a> object providing the name, data type, and properties to use for the corresponding column as a value. To prevent a column from being created for a field or method pair, use a value of <code>null</code>.</div>

                <div className="dl notes">
                  <div className="dt">Type Parameters:</div>
                  <div className="dd"><code>T</code> - the class</div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>objectClass</code> - the class</div>
                  <div className="dd"><code>label</code> - the type label (<code>null</code> to use class name)</div>
                  <div className="dd"><code>columnOverrides</code> - the map of overrides (<code>null</code> for none)</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the type object map</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 the specified class is not public</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="fromType(com.gpudb.Type,java.lang.Class)">
                <h3>fromType</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="type-parameters">\<T></span> <span className="return-type"><a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a>\<T></span> <span className="element-name">fromType</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class. Each column in the type is mapped to a public field of the same name, or in the absence of such a field, a get/set method pair where the name following "get" and "set" is the same.</div>

                <div className="dl notes">
                  <div className="dt">Type Parameters:</div>
                  <div className="dd"><code>T</code> - the class</div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>type</code> - the type</div>
                  <div className="dd"><code>objectClass</code> - the class</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the type object map</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 the specified class is not public, a column exists in the specified type that has no matching field or method pair in the class, or a column has a type that is incompatible with the matching field or method pair</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="fromType(com.gpudb.Type,java.lang.Class,java.util.Map)">
                <h3>fromType</h3>
                <div className="member-signature"><span className="modifiers">public static</span> <span className="type-parameters">\<T></span> <span className="return-type"><a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb">TypeObjectMap</a>\<T></span> <span className="element-name">fromType</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb">Type</a> type, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<T> objectClass, <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/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> columnOverrides)</span></div>
                <div className="block">Creates a <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</code></a> based on the specified <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> and class with the specified overrides. By default, each column is mapped to a public field of the same name, or in the absence of such a field, a get/set method pair where the name following "get" and "set" is the same, but field and method pair names can be overridden with entries in the <code>columnOverrides</code> map. Each entry in the map must consist of the name of a column in the specified type as a key, and the name of the corresponding field (or for method pairs, the name following "get" and "set") as a value.</div>

                <div className="dl notes">
                  <div className="dt">Type Parameters:</div>
                  <div className="dd"><code>T</code> - the class</div>
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>type</code> - the type</div>
                  <div className="dd"><code>objectClass</code> - the class</div>
                  <div className="dd"><code>columnOverrides</code> - </div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the type object map</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 the specified class is not public, a column exists in the specified type that has no matching field or method pair in the class, or a column has a type that is incompatible with the matching field or method pair</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="getType()">
                <h3>getType</h3>
                <div className="member-signature"><span className="modifiers">public</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">getType</span>()</div>
                <div className="block">Returns the GPUdb <a href="/content/api/java/com/gpudb/Type" title="class in com.gpudb"><code>Type</code></a> of the type object map.</div>

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

            <li>
              <div className="section detail" id="getObjectClass()">
                <h3>getObjectClass</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/Class.html" title="class or interface in java.lang" className="external-link">Class</a>\<?></span> <span className="element-name">getObjectClass</span>()</div>
                <div className="block">Returns the class of the type object map.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the class</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">Returns the Avro record schema of the type object map.</div>

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

            <li>
              <div className="section detail" id="get(java.lang.Object,int)">
                <h3>get</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/Object.html" title="class or interface in java.lang" className="external-link">Object</a></span> <span className="element-name">get</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> o, int index)</span></div>
                <div className="block">Returns the value of the column at the specified index from the specified object. The object must belong to the class specified when the type object map was created.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>o</code> - the object</div>
                  <div className="dd"><code>index</code> - the column index</div>
                  <div className="dt">Returns:</div>
                  <div className="dd">the value of the column</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="put(java.lang.Object,int,java.lang.Object)">
                <h3>put</h3>
                <div className="member-signature"><span className="modifiers">public</span> <span className="return-type">void</span> <span className="element-name">put</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> o, int index, <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> value)</span></div>
                <div className="block">Sets the value of the column at the specified index in the specified object. The object must belong to the class specified when the type object map was created.</div>

                <div className="dl notes">
                  <div className="dt">Parameters:</div>
                  <div className="dd"><code>o</code> - the object</div>
                  <div className="dd"><code>index</code> - the column index</div>
                  <div className="dd"><code>value</code> - the new value of the column</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/TypeObjectMap" title="type parameter in TypeObjectMap">T</a></span> <span className="element-name">newInstance</span>()</div>
                <div className="block">Creates a new instance of the class specified when the type object map was created.</div>

                <div className="dl notes">
                  <div className="dt">Returns:</div>
                  <div className="dd">the new instance</div>
                </div>
              </div>
            </li>

            <li>
              <div className="section detail" id="createType(com.gpudb.GPUdb)">
                <h3>createType</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">createType</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 specified <a href="/content/api/java/com/gpudb/TypeObjectMap" title="class in com.gpudb"><code>TypeObjectMap</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. The specified type object map will also automatically be added as a <a href="/content/api/java/com/gpudb/GPUdbBase#addKnownType(java.lang.String,java.lang.Class,com.gpudb.TypeObjectMap)"><code>known type and known type object map</code></a> in the specified <a href="/content/api/java/com/gpudb/GPUdb" title="class in com.gpudb"><code>GPUdb</code></a> instance.</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>
          </ul>
        </div>
      </li>
    </ul>
  </div>
</div>
