blob: 0fac1eabe105b63ed79011f7f103da270c3b8122 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SchemaBuilder (kafka 3.0.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.kafka.connect.data, class: SchemaBuilder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var data = {"i0":9,"i1":9,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":9,"i29":9,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "alt-color";
var rowColor = "row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.kafka.connect.data</a></div>
<h1 title="Class SchemaBuilder" class="title">Class SchemaBuilder</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.kafka.connect.data.SchemaBuilder</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
</dl>
<hr>
<pre>public class <span class="type-name-label">SchemaBuilder</span>
extends <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></pre>
<div class="block"><p>
SchemaBuilder provides a fluent API for constructing <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a> objects. It allows you to set each of the
properties for the schema and each call returns the SchemaBuilder so the calls can be chained. When nested types
are required, use one of the predefined schemas from <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a> or use a second SchemaBuilder inline.
</p>
<p>
Here is an example of building a struct schema:
<pre>
Schema dateSchema = SchemaBuilder.struct()
.name("com.example.CalendarDate").version(2).doc("A calendar date including month, day, and year.")
.field("month", Schema.STRING_SCHEMA)
.field("day", Schema.INT8_SCHEMA)
.field("year", Schema.INT16_SCHEMA)
.build();
</pre>
</p>
<p>
Here is an example of using a second SchemaBuilder to construct complex, nested types:
<pre>
Schema userListSchema = SchemaBuilder.array(
SchemaBuilder.struct().name("com.example.User").field("username", Schema.STRING_SCHEMA).field("id", Schema.INT64_SCHEMA).build()
).build();
</pre>
</p></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested.class.summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.org.apache.kafka.connect.data.Schema">Nested classes/interfaces inherited from interface&nbsp;org.apache.kafka.connect.data.<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></h2>
<code><a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.org.apache.kafka.connect.data.Schema">Fields inherited from interface&nbsp;org.apache.kafka.connect.data.<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></h3>
<code><a href="Schema.html#BOOLEAN_SCHEMA">BOOLEAN_SCHEMA</a>, <a href="Schema.html#BYTES_SCHEMA">BYTES_SCHEMA</a>, <a href="Schema.html#FLOAT32_SCHEMA">FLOAT32_SCHEMA</a>, <a href="Schema.html#FLOAT64_SCHEMA">FLOAT64_SCHEMA</a>, <a href="Schema.html#INT16_SCHEMA">INT16_SCHEMA</a>, <a href="Schema.html#INT32_SCHEMA">INT32_SCHEMA</a>, <a href="Schema.html#INT64_SCHEMA">INT64_SCHEMA</a>, <a href="Schema.html#INT8_SCHEMA">INT8_SCHEMA</a>, <a href="Schema.html#OPTIONAL_BOOLEAN_SCHEMA">OPTIONAL_BOOLEAN_SCHEMA</a>, <a href="Schema.html#OPTIONAL_BYTES_SCHEMA">OPTIONAL_BYTES_SCHEMA</a>, <a href="Schema.html#OPTIONAL_FLOAT32_SCHEMA">OPTIONAL_FLOAT32_SCHEMA</a>, <a href="Schema.html#OPTIONAL_FLOAT64_SCHEMA">OPTIONAL_FLOAT64_SCHEMA</a>, <a href="Schema.html#OPTIONAL_INT16_SCHEMA">OPTIONAL_INT16_SCHEMA</a>, <a href="Schema.html#OPTIONAL_INT32_SCHEMA">OPTIONAL_INT32_SCHEMA</a>, <a href="Schema.html#OPTIONAL_INT64_SCHEMA">OPTIONAL_INT64_SCHEMA</a>, <a href="Schema.html#OPTIONAL_INT8_SCHEMA">OPTIONAL_INT8_SCHEMA</a>, <a href="Schema.html#OPTIONAL_STRING_SCHEMA">OPTIONAL_STRING_SCHEMA</a>, <a href="Schema.html#STRING_SCHEMA">STRING_SCHEMA</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="member-summary">
<table class="summary-table">
<caption><span>Constructors</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Constructor</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<th class="col-constructor-name" scope="row"><code><span class="member-name-link"><a href="#%3Cinit%3E(org.apache.kafka.connect.data.Schema.Type)">SchemaBuilder</a></span>&#8203;(<a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a>&nbsp;type)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div class="member-summary" id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="active-table-tab">All Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="table-tab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="table-tab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="table-tab" onclick="show(8);">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<table class="summary-table" aria-labelledby="t0">
<thead>
<tr>
<th class="col-first" scope="col">Modifier and Type</th>
<th class="col-second" scope="col">Method</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color" id="i0">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#array(org.apache.kafka.connect.data.Schema)">array</a></span>&#8203;(<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;valueSchema)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#bool()">bool</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#build()">build</a></span>()</code></th>
<td class="col-last">
<div class="block">Build the Schema using the current settings</div>
</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#bytes()">bytes</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i4">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#defaultValue()">defaultValue</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i5">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#defaultValue(java.lang.Object)">defaultValue</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</code></th>
<td class="col-last">
<div class="block">Set the default value for this schema.</div>
</td>
</tr>
<tr class="alt-color" id="i6">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#doc()">doc</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i7">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#doc(java.lang.String)">doc</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;doc)</code></th>
<td class="col-last">
<div class="block">Set the documentation for this schema.</div>
</td>
</tr>
<tr class="alt-color" id="i8">
<td class="col-first"><code><a href="Field.html" title="class in org.apache.kafka.connect.data">Field</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#field(java.lang.String)">field</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</code></th>
<td class="col-last">
<div class="block">Get a field for this Schema by name.</div>
</td>
</tr>
<tr class="row-color" id="i9">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#field(java.lang.String,org.apache.kafka.connect.data.Schema)">field</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName,
<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;fieldSchema)</code></th>
<td class="col-last">
<div class="block">Add a field to this struct schema.</div>
</td>
</tr>
<tr class="alt-color" id="i10">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Field.html" title="class in org.apache.kafka.connect.data">Field</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#fields()">fields</a></span>()</code></th>
<td class="col-last">
<div class="block">Get the list of fields for this Schema.</div>
</td>
</tr>
<tr class="row-color" id="i11">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#float32()">float32</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i12">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#float64()">float64</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i13">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#int16()">int16</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i14">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#int32()">int32</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i15">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#int64()">int64</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i16">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#int8()">int8</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i17">
<td class="col-first"><code>boolean</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#isOptional()">isOptional</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i18">
<td class="col-first"><code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#keySchema()">keySchema</a></span>()</code></th>
<td class="col-last">
<div class="block">Get the key schema for this map schema.</div>
</td>
</tr>
<tr class="row-color" id="i19">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#map(org.apache.kafka.connect.data.Schema,org.apache.kafka.connect.data.Schema)">map</a></span>&#8203;(<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;keySchema,
<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;valueSchema)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i20">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#name()">name</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i21">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#name(java.lang.String)">name</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></th>
<td class="col-last">
<div class="block">Set the name of this schema.</div>
</td>
</tr>
<tr class="alt-color" id="i22">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#optional()">optional</a></span>()</code></th>
<td class="col-last">
<div class="block">Set this schema as optional.</div>
</td>
</tr>
<tr class="row-color" id="i23">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#parameter(java.lang.String,java.lang.String)">parameter</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;propertyValue)</code></th>
<td class="col-last">
<div class="block">Set a schema parameter.</div>
</td>
</tr>
<tr class="alt-color" id="i24">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#parameters()">parameters</a></span>()</code></th>
<td class="col-last">
<div class="block">Get a map of schema parameters.</div>
</td>
</tr>
<tr class="row-color" id="i25">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#parameters(java.util.Map)">parameters</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;props)</code></th>
<td class="col-last">
<div class="block">Set schema parameters.</div>
</td>
</tr>
<tr class="alt-color" id="i26">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#required()">required</a></span>()</code></th>
<td class="col-last">
<div class="block">Set this schema as required.</div>
</td>
</tr>
<tr class="row-color" id="i27">
<td class="col-first"><code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#schema()">schema</a></span>()</code></th>
<td class="col-last">
<div class="block">Return a concrete instance of the <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a> specified by this builder</div>
</td>
</tr>
<tr class="alt-color" id="i28">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#string()">string</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i29">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#struct()">struct</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i30">
<td class="col-first"><code><a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#type()">type</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i31">
<td class="col-first"><code>static <a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#type(org.apache.kafka.connect.data.Schema.Type)">type</a></span>&#8203;(<a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a>&nbsp;type)</code></th>
<td class="col-last">
<div class="block">Create a SchemaBuilder for the specified type.</div>
</td>
</tr>
<tr class="alt-color" id="i32">
<td class="col-first"><code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#valueSchema()">valueSchema</a></span>()</code></th>
<td class="col-last">
<div class="block">Get the value schema for this map or array schema.</div>
</td>
</tr>
<tr class="row-color" id="i33">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#version()">version</a></span>()</code></th>
<td class="col-last">
<div class="block">Get the optional version of the schema.</div>
</td>
</tr>
<tr class="alt-color" id="i34">
<td class="col-first"><code><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#version(java.lang.Integer)">version</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&nbsp;version)</code></th>
<td class="col-last">
<div class="block">Set the version of this schema.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.kafka.connect.data.Schema.Type)">
<h3>SchemaBuilder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">SchemaBuilder</span>&#8203;(<span class="parameters"><a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a>&nbsp;type)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="isOptional()">
<h3>isOptional</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="member-name">isOptional</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#isOptional()">isOptional</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>true if this field is optional, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="optional()">
<h3>optional</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">optional</span>()</div>
<div class="block">Set this schema as optional.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="required()">
<h3>required</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">required</span>()</div>
<div class="block">Set this schema as required. This is the default, but this method can be used to make this choice explicit.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultValue()">
<h3>defaultValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span>&nbsp;<span class="member-name">defaultValue</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#defaultValue()">defaultValue</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the default value for this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultValue(java.lang.Object)">
<h3>defaultValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">defaultValue</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</span></div>
<div class="block">Set the default value for this schema. The value is validated against the schema type, throwing a
<a href="../errors/SchemaBuilderException.html" title="class in org.apache.kafka.connect.errors"><code>SchemaBuilderException</code></a> if it does not match.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the default value</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="name()">
<h3>name</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="member-name">name</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#name()">name</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the name of this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="name(java.lang.String)">
<h3>name</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">name</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Set the name of this schema.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the schema name</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="version()">
<h3>version</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a></span>&nbsp;<span class="member-name">version</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#version()">Schema</a></code></span></div>
<div class="block">Get the optional version of the schema. If a version is included, newer versions *must* be larger than older ones.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#version()">version</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the version of this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="version(java.lang.Integer)">
<h3>version</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">version</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&nbsp;version)</span></div>
<div class="block">Set the version of this schema. Schema versions are integers which, if provided, must indicate which schema is
newer and which is older by their ordering.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>version</code> - the schema version</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doc()">
<h3>doc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="member-name">doc</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#doc()">doc</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the documentation for this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doc(java.lang.String)">
<h3>doc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">doc</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;doc)</span></div>
<div class="block">Set the documentation for this schema.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - the documentation</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parameters()">
<h3>parameters</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="member-name">parameters</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#parameters()">Schema</a></code></span></div>
<div class="block">Get a map of schema parameters.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#parameters()">parameters</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>Map containing parameters for this schema, or null if there are no parameters</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parameter(java.lang.String,java.lang.String)">
<h3>parameter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">parameter</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;propertyName,
<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;propertyValue)</span></div>
<div class="block">Set a schema parameter.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>propertyName</code> - name of the schema property to define</dd>
<dd><code>propertyValue</code> - value of the schema property to define, as a String</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parameters(java.util.Map)">
<h3>parameters</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">parameters</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;props)</span></div>
<div class="block">Set schema parameters. This operation is additive; it does not remove existing parameters that do not appear in
the set of properties pass to this method.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>props</code> - Map of properties to set</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="type()">
<h3>type</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a></span>&nbsp;<span class="member-name">type</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#type()">type</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the type of this schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="type(org.apache.kafka.connect.data.Schema.Type)">
<h3>type</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">type</span>&#8203;(<span class="parameters"><a href="Schema.Type.html" title="enum in org.apache.kafka.connect.data">Schema.Type</a>&nbsp;type)</span></div>
<div class="block">Create a SchemaBuilder for the specified type.
Usually it will be simpler to use one of the variants like <a href="#string()"><code>string()</code></a> or <a href="#struct()"><code>struct()</code></a>, but this form
can be useful when generating schemas dynamically.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>type</code> - the schema type</dd>
<dt>Returns:</dt>
<dd>a new SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="int8()">
<h3>int8</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">int8</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#INT8"><code>Schema.Type.INT8</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="int16()">
<h3>int16</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">int16</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#INT16"><code>Schema.Type.INT16</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="int32()">
<h3>int32</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">int32</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#INT32"><code>Schema.Type.INT32</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="int64()">
<h3>int64</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">int64</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#INT64"><code>Schema.Type.INT64</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="float32()">
<h3>float32</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">float32</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#FLOAT32"><code>Schema.Type.FLOAT32</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="float64()">
<h3>float64</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">float64</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#FLOAT64"><code>Schema.Type.FLOAT64</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="bool()">
<h3>bool</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">bool</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#BOOLEAN"><code>Schema.Type.BOOLEAN</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="string()">
<h3>string</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">string</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#STRING"><code>Schema.Type.STRING</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="bytes()">
<h3>bytes</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">bytes</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#BYTES"><code>Schema.Type.BYTES</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="struct()">
<h3>struct</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">struct</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#STRUCT"><code>Schema.Type.STRUCT</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(java.lang.String,org.apache.kafka.connect.data.Schema)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">field</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName,
<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;fieldSchema)</span></div>
<div class="block">Add a field to this struct schema. Throws a SchemaBuilderException if this is not a struct schema.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldName</code> - the name of the field to add</dd>
<dd><code>fieldSchema</code> - the Schema for the field's value</dd>
<dt>Returns:</dt>
<dd>the SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fields()">
<h3>fields</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Field.html" title="class in org.apache.kafka.connect.data">Field</a>&gt;</span>&nbsp;<span class="member-name">fields</span>()</div>
<div class="block">Get the list of fields for this Schema. Throws a DataException if this schema is not a struct.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#fields()">fields</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the list of fields for this Schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="field(java.lang.String)">
<h3>field</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Field.html" title="class in org.apache.kafka.connect.data">Field</a></span>&nbsp;<span class="member-name">field</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fieldName)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#field(java.lang.String)">Schema</a></code></span></div>
<div class="block">Get a field for this Schema by name. Throws a DataException if this schema is not a struct.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#field(java.lang.String)">field</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fieldName</code> - the name of the field to look up</dd>
<dt>Returns:</dt>
<dd>the Field object for the specified field, or null if there is no field with the given name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="array(org.apache.kafka.connect.data.Schema)">
<h3>array</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">array</span>&#8203;(<span class="parameters"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;valueSchema)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>valueSchema</code> - the schema for elements of the array</dd>
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#ARRAY"><code>Schema.Type.ARRAY</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="map(org.apache.kafka.connect.data.Schema,org.apache.kafka.connect.data.Schema)">
<h3>map</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SchemaBuilder.html" title="class in org.apache.kafka.connect.data">SchemaBuilder</a></span>&nbsp;<span class="member-name">map</span>&#8203;(<span class="parameters"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;keySchema,
<a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a>&nbsp;valueSchema)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>keySchema</code> - the schema for keys in the map</dd>
<dd><code>valueSchema</code> - the schema for values in the map</dd>
<dt>Returns:</dt>
<dd>a new <a href="Schema.Type.html#MAP"><code>Schema.Type.MAP</code></a> SchemaBuilder</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="keySchema()">
<h3>keySchema</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></span>&nbsp;<span class="member-name">keySchema</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#keySchema()">Schema</a></code></span></div>
<div class="block">Get the key schema for this map schema. Throws a DataException if this schema is not a map.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#keySchema()">keySchema</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the key schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="valueSchema()">
<h3>valueSchema</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></span>&nbsp;<span class="member-name">valueSchema</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Schema.html#valueSchema()">Schema</a></code></span></div>
<div class="block">Get the value schema for this map or array schema. Throws a DataException if this schema is not a map or array.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#valueSchema()">valueSchema</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the value schema</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="build()">
<h3>build</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></span>&nbsp;<span class="member-name">build</span>()</div>
<div class="block">Build the Schema using the current settings</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="schema()">
<h3>schema</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></span>&nbsp;<span class="member-name">schema</span>()</div>
<div class="block">Return a concrete instance of the <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a> specified by this builder</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Schema.html#schema()">schema</a></code>&nbsp;in interface&nbsp;<code><a href="Schema.html" title="interface in org.apache.kafka.connect.data">Schema</a></code></dd>
<dt>Returns:</dt>
<dd>the <a href="Schema.html" title="interface in org.apache.kafka.connect.data"><code>Schema</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottom-nav" id="navbar.bottom">
<div class="skip-nav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar.bottom.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>