blob: 569a6ff57cfab3ebc2d5844c90de0db53e45ccb6 [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>
<title>Schema</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel="shortcut icon" href="/img/microprofile-favicon.png">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Schema";
}
}
catch(err) {
}
//-->
</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/eclipse/microprofile/openapi/annotations/media/ExampleObject.html" title="annotation in org.eclipse.microprofile.openapi.annotations.media"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/microprofile/openapi/annotations/media/Schema.html" target="_top">Frames</a></li>
<li><a href="Schema.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</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.eclipse.microprofile.openapi.annotations.media</div>
<h2 title="Annotation Type Schema" class="title">Annotation Type Schema</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Target(value={FIELD,METHOD,PARAMETER,TYPE})
@Retention(value=RUNTIME)
@Inherited
public @interface <span class="memberNameLabel">Schema</span></pre>
<div class="block">The Schema Object allows the definition of input and output data types.
These types can be objects, but also primitives and arrays.
This object is an extended subset of the JSON Schema Specification Wright Draft 00.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href= "https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject">OpenAPI Specification Schema Object</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#allOf--">allOf</a></span></code>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#anyOf--">anyOf</a></span></code>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#defaultValue--">defaultValue</a></span></code>
<div class="block">Provides a default value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#deprecated--">deprecated</a></span></code>
<div class="block">Specifies that a schema is deprecated and SHOULD be transitioned out of usage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#description--">description</a></span></code>
<div class="block">A description of the schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/DiscriminatorMapping.html" title="annotation in org.eclipse.microprofile.openapi.annotations.media">DiscriminatorMapping</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#discriminatorMapping--">discriminatorMapping</a></span></code>
<div class="block">An array of discriminator mappings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#discriminatorProperty--">discriminatorProperty</a></span></code>
<div class="block">Provides a discriminator property value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#enumeration--">enumeration</a></span></code>
<div class="block">Provides a list of enum values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#example--">example</a></span></code>
<div class="block">A free-form property to include an example of an instance for this schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#exclusiveMaximum--">exclusiveMaximum</a></span></code>
<div class="block">If true, makes the maximum value exclusive, or a less-than criteria.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#exclusiveMinimum--">exclusiveMinimum</a></span></code>
<div class="block">If true, makes the minimum value exclusive, or a greater-than criteria.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/ExternalDocumentation.html" title="annotation in org.eclipse.microprofile.openapi.annotations">ExternalDocumentation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#externalDocs--">externalDocs</a></span></code>
<div class="block">Additional external documentation for this schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#format--">format</a></span></code>
<div class="block">Provides an optional override for the format.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#hidden--">hidden</a></span></code>
<div class="block">Allows schema to be marked as hidden.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#implementation--">implementation</a></span></code>
<div class="block">Provides a java class as implementation for this schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#maximum--">maximum</a></span></code>
<div class="block">Sets the maximum numeric value for a property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#maxItems--">maxItems</a></span></code>
<div class="block">Only applicable if type=array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#maxLength--">maxLength</a></span></code>
<div class="block">Sets the maximum length of a string value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#maxProperties--">maxProperties</a></span></code>
<div class="block">Constrains the number of arbitrary properties when additionalProperties is defined.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#minimum--">minimum</a></span></code>
<div class="block">Sets the minimum numeric value for a property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#minItems--">minItems</a></span></code>
<div class="block">Only applicable if type=array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#minLength--">minLength</a></span></code>
<div class="block">Sets the minimum length of a string value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#minProperties--">minProperties</a></span></code>
<div class="block">Constrains the number of arbitrary properties when additionalProperties is defined.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#multipleOf--">multipleOf</a></span></code>
<div class="block">Constrains a value such that when divided by the multipleOf, the remainder must be an integer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#name--">name</a></span></code>
<div class="block">The name of the schema or property.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#not--">not</a></span></code>
<div class="block">Provides a java class to be used to disallow matching properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#nullable--">nullable</a></span></code>
<div class="block">Allows sending a null value for the defined schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#oneOf--">oneOf</a></span></code>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#pattern--">pattern</a></span></code>
<div class="block">A pattern that the value must satisfy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#readOnly--">readOnly</a></span></code>
<div class="block">Relevant only for Schema "properties" definitions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#ref--">ref</a></span></code>
<div class="block">Reference value to a Schema definition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#required--">required</a></span></code>
<div class="block">Mandates whether the annotated item is required or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#requiredProperties--">requiredProperties</a></span></code>
<div class="block">Allows multiple properties in an object to be marked as required.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#title--">title</a></span></code>
<div class="block">A title to explain the purpose of the schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SchemaType.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SchemaType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#type--">type</a></span></code>
<div class="block">Provides an override for the basic type of the schema.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#uniqueItems--">uniqueItems</a></span></code>
<div class="block">Only applicable if type=array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/Schema.html#writeOnly--">writeOnly</a></span></code>
<div class="block">Relevant only for Schema "properties" definitions.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="implementation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>implementation</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;&nbsp;implementation</pre>
<div class="block">Provides a java class as implementation for this schema.
When provided, additional information in the Schema annotation (except for type
information) will augment the java class after introspection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a class that implements this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>java.lang.Void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="not--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>not</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;&nbsp;not</pre>
<div class="block">Provides a java class to be used to disallow matching properties.
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a class with disallowed properties</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>java.lang.Void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="oneOf--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oneOf</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;[]&nbsp;oneOf</pre>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.
If more than one match the derived schemas, a validation error will occur.
<p>
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of possible classes for a single match</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="anyOf--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>anyOf</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;[]&nbsp;anyOf</pre>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.
If any match, the schema will be considered valid.
<p>
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of possible class matches</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="allOf--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allOf</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;[]&nbsp;allOf</pre>
<div class="block">Provides an array of java class implementations which can be used to describe multiple acceptable schemas.
If all match, the schema will be considered valid.
<p>
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of classes to match</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="name--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<div class="block">The name of the schema or property.
<p>
The name is REQUIRED when the schema is defined within <a href="../../../../../../org/eclipse/microprofile/openapi/annotations/Components.html" title="annotation in org.eclipse.microprofile.openapi.annotations"><code>Components</code></a>. The
name will be used as the key to add this schema to the 'schemas' map for reuse.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="title--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>title</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;title</pre>
<div class="block">A title to explain the purpose of the schema.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the title of the schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="multipleOf--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multipleOf</h4>
<pre>public abstract&nbsp;double&nbsp;multipleOf</pre>
<div class="block">Constrains a value such that when divided by the multipleOf, the remainder must be an integer.
Ignored if the value is 0.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the multiplier constraint of the schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>0.0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maximum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maximum</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;maximum</pre>
<div class="block">Sets the maximum numeric value for a property.
Ignored if the value is an empty string.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum value for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="exclusiveMaximum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exclusiveMaximum</h4>
<pre>public abstract&nbsp;boolean&nbsp;exclusiveMaximum</pre>
<div class="block">If true, makes the maximum value exclusive, or a less-than criteria.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the exclusive maximum value for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="minimum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minimum</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;minimum</pre>
<div class="block">Sets the minimum numeric value for a property.
Ignored if the value is an empty string or not a number.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum value for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="exclusiveMinimum--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exclusiveMinimum</h4>
<pre>public abstract&nbsp;boolean&nbsp;exclusiveMinimum</pre>
<div class="block">If true, makes the minimum value exclusive, or a greater-than criteria.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the exclusive minimum value for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxLength--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxLength</h4>
<pre>public abstract&nbsp;int&nbsp;maxLength</pre>
<div class="block">Sets the maximum length of a string value.
Ignored if the value is negative.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum length of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>2147483647</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="minLength--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minLength</h4>
<pre>public abstract&nbsp;int&nbsp;minLength</pre>
<div class="block">Sets the minimum length of a string value.
Ignored if the value is negative.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum length of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="pattern--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pattern</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;pattern</pre>
<div class="block">A pattern that the value must satisfy.
Ignored if the value is an empty string.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the pattern of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxProperties</h4>
<pre>public abstract&nbsp;int&nbsp;maxProperties</pre>
<div class="block">Constrains the number of arbitrary properties when additionalProperties is defined.
Ignored if value is 0.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of properties for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="minProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minProperties</h4>
<pre>public abstract&nbsp;int&nbsp;minProperties</pre>
<div class="block">Constrains the number of arbitrary properties when additionalProperties is defined.
Ignored if value is 0.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum number of properties for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="requiredProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiredProperties</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;requiredProperties</pre>
<div class="block">Allows multiple properties in an object to be marked as required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of required schema properties</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="required--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>required</h4>
<pre>public abstract&nbsp;boolean&nbsp;required</pre>
<div class="block">Mandates whether the annotated item is required or not.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is required</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="description--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;description</pre>
<div class="block">A description of the schema.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this schema's description</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="format--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>format</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;format</pre>
<div class="block">Provides an optional override for the format.
<p>
If a consumer is unaware of the meaning of the format, they shall fall back to using the basic type without format.
For example, if \&quot;type: integer, format: int128\&quot; were used to designate a very large integer, most consumers
will not understand how to handle it, and fall back to simply \&quot;type: integer\&quot;
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this schema's format</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="ref--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ref</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;ref</pre>
<div class="block">Reference value to a Schema definition.
<p>
This property provides a reference to an object defined elsewhere. This property and
all other properties are mutually exclusive. If other properties are defined in addition
to the ref property then the result is undefined.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a reference to a schema definition</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nullable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullable</h4>
<pre>public abstract&nbsp;boolean&nbsp;nullable</pre>
<div class="block">Allows sending a null value for the defined schema.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is nullable</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="readOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readOnly</h4>
<pre>public abstract&nbsp;boolean&nbsp;readOnly</pre>
<div class="block">Relevant only for Schema "properties" definitions.
Declares the property as "read only". This means that it MAY be sent as part of a response but SHOULD NOT be sent as part of the request.
<p>
If the property is marked as readOnly being true and is in the required list, the required will take effect on the response only.
A property MUST NOT be marked as both readOnly and writeOnly being true.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is read only</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="writeOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeOnly</h4>
<pre>public abstract&nbsp;boolean&nbsp;writeOnly</pre>
<div class="block">Relevant only for Schema "properties" definitions.
Declares the property as "write only". Therefore, it MAY be sent as part of a request but SHOULD NOT be sent as part of the response.
<p>
If the property is marked as writeOnly being true and is in the required list, the required will take effect on the request only.
A property MUST NOT be marked as both readOnly and writeOnly being true.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is write only</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="example--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>example</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;example</pre>
<div class="block">A free-form property to include an example of an instance for this schema.
<p>
To represent examples that cannot be naturally represented in JSON or YAML,
a string value is used to contain the example with escaping where necessary.
</p>
When associated with a specific media type, the example string shall be parsed
by the consumer to be treated as an object or an array.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an example of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="externalDocs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>externalDocs</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/ExternalDocumentation.html" title="annotation in org.eclipse.microprofile.openapi.annotations">ExternalDocumentation</a>&nbsp;externalDocs</pre>
<div class="block">Additional external documentation for this schema.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>additional schema documentation</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>@org.eclipse.microprofile.openapi.annotations.ExternalDocumentation</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="deprecated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deprecated</h4>
<pre>public abstract&nbsp;boolean&nbsp;deprecated</pre>
<div class="block">Specifies that a schema is deprecated and SHOULD be transitioned out of usage.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is deprecated</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="type--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/enums/SchemaType.html" title="enum in org.eclipse.microprofile.openapi.annotations.enums">SchemaType</a>&nbsp;type</pre>
<div class="block">Provides an override for the basic type of the schema.
<p>
Value MUST be a string. Multiple types via an array are not supported.
</p>
MUST be a valid type per the OpenAPI Specification.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>org.eclipse.microprofile.openapi.annotations.enums.SchemaType.DEFAULT</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="enumeration--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enumeration</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;enumeration</pre>
<div class="block">Provides a list of enum values.
Corresponds to the enum property in the OAS schema and the enumeration property in the schema model.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of allowed schema values</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="defaultValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultValue</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;defaultValue</pre>
<div class="block">Provides a default value.
The default value represents what would be assumed by the consumer of the input as the value of the schema
if one is not provided.
<p>
Unlike JSON Schema, the value MUST conform to the defined type for the Schema Object defined at the same level.
</p>
For example, if type is string, then default can be "foo" but cannot be 1.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default value of this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="discriminatorProperty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discriminatorProperty</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;discriminatorProperty</pre>
<div class="block">Provides a discriminator property value.
Adds support for polymorphism.
<p>
The discriminator is an object name that is used to differentiate between other schemas
which may satisfy the payload description.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the discriminator property</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="discriminatorMapping--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discriminatorMapping</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/eclipse/microprofile/openapi/annotations/media/DiscriminatorMapping.html" title="annotation in org.eclipse.microprofile.openapi.annotations.media">DiscriminatorMapping</a>[]&nbsp;discriminatorMapping</pre>
<div class="block">An array of discriminator mappings.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the discriminator mappings for this schema</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="hidden--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hidden</h4>
<pre>public abstract&nbsp;boolean&nbsp;hidden</pre>
<div class="block">Allows schema to be marked as hidden.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this schema is hidden</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxItems--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxItems</h4>
<pre>public abstract&nbsp;int&nbsp;maxItems</pre>
<div class="block">Only applicable if type=array. Sets the maximum number of items in an array.
This integer MUST be greater than, or equal to, 0.
<p>
An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword.
</p>
Ignored if value is Integer.MIN_VALUE.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of items in this array</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-2147483648</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="minItems--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minItems</h4>
<pre>public abstract&nbsp;int&nbsp;minItems</pre>
<div class="block">Only applicable if type=array. Sets the minimum number of items in an array.
This integer MUST be greater than, or equal to, 0.
<p>
An array instance is valid against "minItems" if its size is greater than, or equal to, the value of this keyword.
</p>
Ignored if value is Integer.MAX_VALUE.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum number of items in this array</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>2147483647</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="uniqueItems--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>uniqueItems</h4>
<pre>public abstract&nbsp;boolean&nbsp;uniqueItems</pre>
<div class="block">Only applicable if type=array. Determines if the items in the array SHOULD be unique.
<p>
If false, the instance validates successfully.
If true, the instance validates successfully if all of its elements are unique.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the items in this array are unique</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</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/eclipse/microprofile/openapi/annotations/media/ExampleObject.html" title="annotation in org.eclipse.microprofile.openapi.annotations.media"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/microprofile/openapi/annotations/media/Schema.html" target="_top">Frames</a></li>
<li><a href="Schema.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>