blob: 33cd21cde2e34ee429c699dc8950f89044b9b24d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ThriftSchema (Apache Beam 2.47.0)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ThriftSchema (Apache Beam 2.47.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftPayloadSerializerProvider.html" title="class in org.apache.beam.sdk.io.thrift"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.Customizer.html" title="class in org.apache.beam.sdk.io.thrift"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/io/thrift/ThriftSchema.html" target="_top">Frames</a></li>
<li><a href="ThriftSchema.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.io.thrift</div>
<h2 title="Class ThriftSchema" class="title">Class ThriftSchema</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">org.apache.beam.sdk.schemas.GetterBasedSchemaProvider</a></li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.io.thrift.ThriftSchema</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../../org/apache/beam/sdk/schemas/SchemaProvider.html" title="interface in org.apache.beam.sdk.schemas">SchemaProvider</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../../org/apache/beam/sdk/annotations/Experimental.html" title="annotation in org.apache.beam.sdk.annotations">@Experimental</a>(<a href="../../../../../../org/apache/beam/sdk/annotations/Experimental.html#value--">value</a>=<a href="../../../../../../org/apache/beam/sdk/annotations/Experimental.Kind.html#SCHEMAS">SCHEMAS</a>)
public final class <span class="typeNameLabel">ThriftSchema</span>
extends <a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">GetterBasedSchemaProvider</a></pre>
<div class="block">Schema provider for generated thrift types.
<ul>
<li>Primitive type mapping is straight-forward (e.g. <code>TType.I32</code> -> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.FieldType.html#INT32"><code>Schema.FieldType.INT32</code></a>).
<li><code>TType.STRING</code> gets mapped as either <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.FieldType.html#STRING"><code>Schema.FieldType.STRING</code></a> or <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.FieldType.html#BYTES"><code>Schema.FieldType.BYTES</code></a>, depending on whether the <code>FieldValueMetaData.isBinary()</code> flag is
set.
<li><code>TType.MAP</code> becomes <code>a beam map</code> passing
the key and value types recursively.
<li><code>TType.SET</code> gets translated into a beam <code>iterable</code>, passing the corresponding element type.
<li><code>TType.LIST</code> becomes an <code>array</code> of the corresponding
element type.
<li><code>thrift enums</code> are converted into <a href="../../../../../../org/apache/beam/sdk/schemas/logicaltypes/EnumerationType.html" title="class in org.apache.beam.sdk.schemas.logicaltypes"><code>beam enumeration
types</code></a>.
<li><code>thrift union</code> types get mapped to <a href="../../../../../../org/apache/beam/sdk/schemas/logicaltypes/OneOfType.html" title="class in org.apache.beam.sdk.schemas.logicaltypes"><code>beam one-of</code></a> types.
</ul>
<p>The mapping logic relies on the available <code>thrift metadata</code> introspection
and tries to make as few assumptions about the generated code as possible (i.e. does not rely on
accessor naming convention, as the thrift compiler supports options such as "beans" or
"fullcamel"/"nocamel".<br>
However, the following strong assumptions are made by this class:
<ul>
<li>All thrift generated classes implement <code>TBase</code>, except for enums which become <code>java enums</code> implementing <code>TEnum</code>.
<li>All <code>TUnion</code> types provide static factory methods for each of the supported field
types, with the same name as the field itself and only one such method taking a single
parameter exists.
<li>All non-union types have a corresponding java field with the same name for every field in
the original thrift source file.
</ul>
<p>Thrift typedefs for container types (and possibly others) do not preserve the full type
information. For this reason, this class allows for <a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#custom--"><code>manual registration</code></a> of such
"lossy" typedefs with their corresponding beam types.
<p>Note: Thrift encoding and decoding are not fully symmetrical, i.e. the <code>isSet</code> flag may not be preserved upon converting a thrift object to a
beam row and back. On encoding, we extract all thrift values, no matter if the fields are set or
not. On decoding, we set all non-<code>null</code> beam row values to the corresponding thrift fields,
leaving the rest unset.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.beam.sdk.io.thrift.ThriftSchema">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.Customizer.html" title="class in org.apache.beam.sdk.io.thrift">ThriftSchema.Customizer</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.Customizer.html" title="class in org.apache.beam.sdk.io.thrift">ThriftSchema.Customizer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#custom--">custom</a></span>()</code>
<div class="block">Builds a schema provider that maps any thrift type to a Beam schema, allowing for custom thrift
typedef entries (which cannot be resolved using the available metadata) to be manually
registered with their corresponding beam types.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.util.List&lt;<a href="../../../../../../org/apache/beam/sdk/schemas/FieldValueGetter.html" title="interface in org.apache.beam.sdk.schemas">FieldValueGetter</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#fieldValueGetters-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">fieldValueGetters</a></span>(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</code>
<div class="block">Implementing class should override to return FieldValueGetters.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.util.List&lt;<a href="../../../../../../org/apache/beam/sdk/schemas/FieldValueTypeInformation.html" title="class in org.apache.beam.sdk.schemas">FieldValueTypeInformation</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#fieldValueTypeInformations-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">fieldValueTypeInformations</a></span>(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</code>
<div class="block">Implementing class should override to return a list of type-informations.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/SchemaProvider.html" title="interface in org.apache.beam.sdk.schemas">SchemaProvider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#provider--">provider</a></span>()</code>
<div class="block">Schema provider that maps any thrift type to a Beam schema, assuming that any typedefs that
might have been used in the thrift definitions will preserve all required metadata to infer the
beam type (which is the case for any primitive typedefs and alike).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#schemaFor-org.apache.beam.sdk.values.TypeDescriptor-">schemaFor</a></span>(<a href="../../../../../../org/apache/beam/sdk/values/TypeDescriptor.html" title="class in org.apache.beam.sdk.values">TypeDescriptor</a>&lt;T&gt;&nbsp;typeDescriptor)</code>
<div class="block">Lookup a schema for the given type.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/SchemaUserTypeCreator.html" title="interface in org.apache.beam.sdk.schemas">SchemaUserTypeCreator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#schemaTypeCreator-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">schemaTypeCreator</a></span>(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</code>
<div class="block">Implementing class should override to return a constructor.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.schemas.GetterBasedSchemaProvider">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.schemas.<a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">GetterBasedSchemaProvider</a></h3>
<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#fromRowFunction-org.apache.beam.sdk.values.TypeDescriptor-">fromRowFunction</a>, <a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#hashCode--">hashCode</a>, <a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#toRowFunction-org.apache.beam.sdk.values.TypeDescriptor-">toRowFunction</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="provider--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>provider</h4>
<pre>public static&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/SchemaProvider.html" title="interface in org.apache.beam.sdk.schemas">SchemaProvider</a>&nbsp;provider()</pre>
<div class="block">Schema provider that maps any thrift type to a Beam schema, assuming that any typedefs that
might have been used in the thrift definitions will preserve all required metadata to infer the
beam type (which is the case for any primitive typedefs and alike).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.html#custom--"><code>for how to manually pass the beam type for container typedefs</code></a></dd>
</dl>
</li>
</ul>
<a name="custom--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>custom</h4>
<pre>public static&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.Customizer.html" title="class in org.apache.beam.sdk.io.thrift">ThriftSchema.Customizer</a>&nbsp;custom()</pre>
<div class="block">Builds a schema provider that maps any thrift type to a Beam schema, allowing for custom thrift
typedef entries (which cannot be resolved using the available metadata) to be manually
registered with their corresponding beam types.
<p>E.g. <code>typedef set&lt;string&gt; StringSet</code> will not carry the element type information and
needs to be manually mapped here as <code>.custom().withTypedef("StringSet",
FieldType.iterable(FieldType.STRING)).provider()</code>.</div>
</li>
</ul>
<a name="schemaFor-org.apache.beam.sdk.values.TypeDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schemaFor</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schemaFor(<a href="../../../../../../org/apache/beam/sdk/values/TypeDescriptor.html" title="class in org.apache.beam.sdk.values">TypeDescriptor</a>&lt;T&gt;&nbsp;typeDescriptor)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/SchemaProvider.html#schemaFor-org.apache.beam.sdk.values.TypeDescriptor-">SchemaProvider</a></code></span></div>
<div class="block">Lookup a schema for the given type. If no schema exists, returns null.</div>
</li>
</ul>
<a name="fieldValueGetters-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fieldValueGetters</h4>
<pre>public&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.util.List&lt;<a href="../../../../../../org/apache/beam/sdk/schemas/FieldValueGetter.html" title="interface in org.apache.beam.sdk.schemas">FieldValueGetter</a>&gt;&nbsp;fieldValueGetters(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#fieldValueGetters-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">GetterBasedSchemaProvider</a></code></span></div>
<div class="block">Implementing class should override to return FieldValueGetters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#fieldValueGetters-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">fieldValueGetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">GetterBasedSchemaProvider</a></code></dd>
</dl>
</li>
</ul>
<a name="fieldValueTypeInformations-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fieldValueTypeInformations</h4>
<pre>public&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.util.List&lt;<a href="../../../../../../org/apache/beam/sdk/schemas/FieldValueTypeInformation.html" title="class in org.apache.beam.sdk.schemas">FieldValueTypeInformation</a>&gt;&nbsp;fieldValueTypeInformations(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#fieldValueTypeInformations-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">GetterBasedSchemaProvider</a></code></span></div>
<div class="block">Implementing class should override to return a list of type-informations.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#fieldValueTypeInformations-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">fieldValueTypeInformations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">GetterBasedSchemaProvider</a></code></dd>
</dl>
</li>
</ul>
<a name="schemaTypeCreator-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>schemaTypeCreator</h4>
<pre>public&nbsp;<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/SchemaUserTypeCreator.html" title="interface in org.apache.beam.sdk.schemas">SchemaUserTypeCreator</a>&nbsp;schemaTypeCreator(<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> java.lang.Class&lt;?&gt;&nbsp;targetClass,
<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.27.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">@NonNull</a> <a href="../../../../../../org/apache/beam/sdk/schemas/Schema.html" title="class in org.apache.beam.sdk.schemas">Schema</a>&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#schemaTypeCreator-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">GetterBasedSchemaProvider</a></code></span></div>
<div class="block">Implementing class should override to return a constructor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html#schemaTypeCreator-java.lang.Class-org.apache.beam.sdk.schemas.Schema-">schemaTypeCreator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.html" title="class in org.apache.beam.sdk.schemas">GetterBasedSchemaProvider</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftPayloadSerializerProvider.html" title="class in org.apache.beam.sdk.io.thrift"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/io/thrift/ThriftSchema.Customizer.html" title="class in org.apache.beam.sdk.io.thrift"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/io/thrift/ThriftSchema.html" target="_top">Frames</a></li>
<li><a href="ThriftSchema.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>