<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Operation</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="Operation";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":18,"i6":18,"i7":18,"i8":18,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":18,"i22":18,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":18,"i29":18,"i30":18,"i31":18,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":18,"i45":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/microprofile/openapi/models/OpenAPI.html" title="interface in org.eclipse.microprofile.openapi.models"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/microprofile/openapi/models/PathItem.html" title="interface in org.eclipse.microprofile.openapi.models"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/microprofile/openapi/models/Operation.html" target="_top">Frames</a></li>
<li><a href="Operation.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.microprofile.openapi.models</div>
<h2 title="Interface Operation" class="title">Interface Operation</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/eclipse/microprofile/openapi/models/Constructible.html" title="interface in org.eclipse.microprofile.openapi.models">Constructible</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html" title="interface in org.eclipse.microprofile.openapi.models">Extensible</a>&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Operation</span>
extends <a href="../../../../../org/eclipse/microprofile/openapi/models/Constructible.html" title="interface in org.eclipse.microprofile.openapi.models">Constructible</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html" title="interface in org.eclipse.microprofile.openapi.models">Extensible</a>&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&gt;</pre>
<div class="block">Operation
 <p>
 Describes a single API operation on a path.
 <p></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#operationObject">OpenAPI
      Specification Operation Object</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#addCallback-java.lang.String-org.eclipse.microprofile.openapi.models.callbacks.Callback-">addCallback</a></span>(java.lang.String&nbsp;key,
           <a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&nbsp;callback)</code>
<div class="block">Adds the given callback item to this Operation's map of callbacks.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#addParameter-org.eclipse.microprofile.openapi.models.parameters.Parameter-">addParameter</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&nbsp;parameter)</code>
<div class="block">Adds the given parameter item to this Operation's list of parameters.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#addSecurityRequirement-org.eclipse.microprofile.openapi.models.security.SecurityRequirement-">addSecurityRequirement</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&nbsp;securityRequirement)</code>
<div class="block">Adds the given security requirement item to this Operation's list of security mechanisms.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#addServer-org.eclipse.microprofile.openapi.models.servers.Server-">addServer</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&nbsp;server)</code>
<div class="block">Adds the given server to this Operation's list of servers.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#addTag-java.lang.String-">addTag</a></span>(java.lang.String&nbsp;tag)</code>
<div class="block">Adds the given tag to this Operation's list of tags.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#callbacks-java.util.Map-">callbacks</a></span>(java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;&nbsp;callbacks)</code>
<div class="block">Sets this Operation's callbacks property to the given map.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#deprecated-java.lang.Boolean-">deprecated</a></span>(java.lang.Boolean&nbsp;deprecated)</code>
<div class="block">Sets this Operation's deprecated property to the given value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#description-java.lang.String-">description</a></span>(java.lang.String&nbsp;description)</code>
<div class="block">Sets this Operation's description property to the given string.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#externalDocs-org.eclipse.microprofile.openapi.models.ExternalDocumentation-">externalDocs</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a>&nbsp;externalDocs)</code>
<div class="block">Sets this Operation's externalDocs property to the given object.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getCallbacks--">getCallbacks</a></span>()</code>
<div class="block">Returns the callbacks property from an Operation instance.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getDeprecated--">getDeprecated</a></span>()</code>
<div class="block">Returns the deprecated property from an Operation instance.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getDescription--">getDescription</a></span>()</code>
<div class="block">Returns the description property from an Operation instance.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getExternalDocs--">getExternalDocs</a></span>()</code>
<div class="block">Returns the externalDocs property from an Operation instance.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getOperationId--">getOperationId</a></span>()</code>
<div class="block">Returns the operationId property from an Operation instance.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getParameters--">getParameters</a></span>()</code>
<div class="block">Returns the parameters property from an Operation instance.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getRequestBody--">getRequestBody</a></span>()</code>
<div class="block">Returns the requestBody property from an Operation instance.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getResponses--">getResponses</a></span>()</code>
<div class="block">Returns the responses property from an Operation instance.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getSecurity--">getSecurity</a></span>()</code>
<div class="block">Returns the security property from an Operation instance.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getServers--">getServers</a></span>()</code>
<div class="block">Returns the servers property from an Operation instance.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getSummary--">getSummary</a></span>()</code>
<div class="block">Returns the summary property from an Operation instance.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#getTags--">getTags</a></span>()</code>
<div class="block">Returns the tags property from an Operation instance.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#operationId-java.lang.String-">operationId</a></span>(java.lang.String&nbsp;operationId)</code>
<div class="block">Sets this Operation's operationId property to the given string.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#parameters-java.util.List-">parameters</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;&nbsp;parameters)</code>
<div class="block">Sets this Operation's parameters property to the given parameter list.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#removeCallback-java.lang.String-">removeCallback</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Removes the given callback item to this Operation's map of callbacks.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#removeParameter-org.eclipse.microprofile.openapi.models.parameters.Parameter-">removeParameter</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&nbsp;parameter)</code>
<div class="block">Removes the given parameter item to this Operation's list of parameters.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#removeSecurityRequirement-org.eclipse.microprofile.openapi.models.security.SecurityRequirement-">removeSecurityRequirement</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&nbsp;securityRequirement)</code>
<div class="block">Removes the given security requirement item to this Operation's list of security mechanisms.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#removeServer-org.eclipse.microprofile.openapi.models.servers.Server-">removeServer</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&nbsp;server)</code>
<div class="block">Removes the given server to this Operation's list of servers.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#removeTag-java.lang.String-">removeTag</a></span>(java.lang.String&nbsp;tag)</code>
<div class="block">Removes the given tag to this Operation's list of tags.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#requestBody-org.eclipse.microprofile.openapi.models.parameters.RequestBody-">requestBody</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a>&nbsp;requestBody)</code>
<div class="block">Sets this Operation's requestBody property to the given object.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#responses-org.eclipse.microprofile.openapi.models.responses.APIResponses-">responses</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a>&nbsp;responses)</code>
<div class="block">Sets this Operation's responses property to the given responses.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#security-java.util.List-">security</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;&nbsp;security)</code>
<div class="block">Sets this Operation's security property to the given list.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#servers-java.util.List-">servers</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;&nbsp;servers)</code>
<div class="block">Sets this Operation's servers property to the given list.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setCallbacks-java.util.Map-">setCallbacks</a></span>(java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;&nbsp;callbacks)</code>
<div class="block">Sets this Operation's callbacks property to the given map.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setDeprecated-java.lang.Boolean-">setDeprecated</a></span>(java.lang.Boolean&nbsp;deprecated)</code>
<div class="block">Sets this Operation's deprecated property to the given value.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setDescription-java.lang.String-">setDescription</a></span>(java.lang.String&nbsp;description)</code>
<div class="block">Sets this Operation's description property to the given string.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setExternalDocs-org.eclipse.microprofile.openapi.models.ExternalDocumentation-">setExternalDocs</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a>&nbsp;externalDocs)</code>
<div class="block">Sets this Operation's externalDocs property to the given object.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setOperationId-java.lang.String-">setOperationId</a></span>(java.lang.String&nbsp;operationId)</code>
<div class="block">Sets this Operation's operationId property to the given string.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setParameters-java.util.List-">setParameters</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;&nbsp;parameters)</code>
<div class="block">Sets this Operation's parameters property to the given parameter list.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setRequestBody-org.eclipse.microprofile.openapi.models.parameters.RequestBody-">setRequestBody</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a>&nbsp;requestBody)</code>
<div class="block">Sets this Operation's requestBody property to the given object.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setResponses-org.eclipse.microprofile.openapi.models.responses.APIResponses-">setResponses</a></span>(<a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a>&nbsp;responses)</code>
<div class="block">Sets this Operation's responses property to the given responses.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setSecurity-java.util.List-">setSecurity</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;&nbsp;security)</code>
<div class="block">Sets this Operation's security property to the given list.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setServers-java.util.List-">setServers</a></span>(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;&nbsp;servers)</code>
<div class="block">Sets this Operation's servers property to the given list.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setSummary-java.lang.String-">setSummary</a></span>(java.lang.String&nbsp;summary)</code>
<div class="block">Sets this Operation's summary property to the given string.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#setTags-java.util.List-">setTags</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;tags)</code>
<div class="block">Sets this Operation's tags property to the given tags.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#summary-java.lang.String-">summary</a></span>(java.lang.String&nbsp;summary)</code>
<div class="block">Sets this Operation's summary property to the given string.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html#tags-java.util.List-">tags</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;tags)</code>
<div class="block">Sets this Operation's tags property to the given tags.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.microprofile.openapi.models.Extensible">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.microprofile.openapi.models.<a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html" title="interface in org.eclipse.microprofile.openapi.models">Extensible</a></h3>
<code><a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html#addExtension-java.lang.String-java.lang.Object-">addExtension</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html#extensions-java.util.Map-">extensions</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html#getExtensions--">getExtensions</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html#removeExtension-java.lang.String-">removeExtension</a>, <a href="../../../../../org/eclipse/microprofile/openapi/models/Extensible.html#setExtensions-java.util.Map-">setExtensions</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getTags--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTags</h4>
<pre>java.util.List&lt;java.lang.String&gt;&nbsp;getTags()</pre>
<div class="block">Returns the tags property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy List (potentially immutable) of the operation's tags</dd>
</dl>
</li>
</ul>
<a name="setTags-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTags</h4>
<pre>void&nbsp;setTags(java.util.List&lt;java.lang.String&gt;&nbsp;tags)</pre>
<div class="block">Sets this Operation's tags property to the given tags.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tags</code> - a list of tags for API documentation control</dd>
</dl>
</li>
</ul>
<a name="tags-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tags</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;tags(java.util.List&lt;java.lang.String&gt;&nbsp;tags)</pre>
<div class="block">Sets this Operation's tags property to the given tags.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tags</code> - a list of tags for API documentation control</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="addTag-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addTag</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;addTag(java.lang.String&nbsp;tag)</pre>
<div class="block">Adds the given tag to this Operation's list of tags.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tag</code> - a tag for API documentation control</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="removeTag-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeTag</h4>
<pre>void&nbsp;removeTag(java.lang.String&nbsp;tag)</pre>
<div class="block">Removes the given tag to this Operation's list of tags.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tag</code> - a tag for API documentation control</dd>
</dl>
</li>
</ul>
<a name="getSummary--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSummary</h4>
<pre>java.lang.String&nbsp;getSummary()</pre>
<div class="block">Returns the summary property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a short summary of what the operation does</dd>
</dl>
</li>
</ul>
<a name="setSummary-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSummary</h4>
<pre>void&nbsp;setSummary(java.lang.String&nbsp;summary)</pre>
<div class="block">Sets this Operation's summary property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>summary</code> - a short summary of what the operation does</dd>
</dl>
</li>
</ul>
<a name="summary-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>summary</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;summary(java.lang.String&nbsp;summary)</pre>
<div class="block">Sets this Operation's summary property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>summary</code> - a short summary of what the operation does</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getDescription--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre>java.lang.String&nbsp;getDescription()</pre>
<div class="block">Returns the description property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a verbose explanation of the operation behavior</dd>
</dl>
</li>
</ul>
<a name="setDescription-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDescription</h4>
<pre>void&nbsp;setDescription(java.lang.String&nbsp;description)</pre>
<div class="block">Sets this Operation's description property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - a verbose explanation of the operation behavior</dd>
</dl>
</li>
</ul>
<a name="description-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;description(java.lang.String&nbsp;description)</pre>
<div class="block">Sets this Operation's description property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - a verbose explanation of the operation behavior</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getExternalDocs--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExternalDocs</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a>&nbsp;getExternalDocs()</pre>
<div class="block">Returns the externalDocs property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>additional external documentation for this operation</dd>
</dl>
</li>
</ul>
<a name="setExternalDocs-org.eclipse.microprofile.openapi.models.ExternalDocumentation-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExternalDocs</h4>
<pre>void&nbsp;setExternalDocs(<a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a>&nbsp;externalDocs)</pre>
<div class="block">Sets this Operation's externalDocs property to the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>externalDocs</code> - additional external documentation for this operation</dd>
</dl>
</li>
</ul>
<a name="externalDocs-org.eclipse.microprofile.openapi.models.ExternalDocumentation-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>externalDocs</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;externalDocs(<a href="../../../../../org/eclipse/microprofile/openapi/models/ExternalDocumentation.html" title="interface in org.eclipse.microprofile.openapi.models">ExternalDocumentation</a>&nbsp;externalDocs)</pre>
<div class="block">Sets this Operation's externalDocs property to the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>externalDocs</code> - additional external documentation for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getOperationId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperationId</h4>
<pre>java.lang.String&nbsp;getOperationId()</pre>
<div class="block">Returns the operationId property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>unique string used to identify the operation</dd>
</dl>
</li>
</ul>
<a name="setOperationId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOperationId</h4>
<pre>void&nbsp;setOperationId(java.lang.String&nbsp;operationId)</pre>
<div class="block">Sets this Operation's operationId property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operationId</code> - unique string used to identify the operation</dd>
</dl>
</li>
</ul>
<a name="operationId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operationId</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;operationId(java.lang.String&nbsp;operationId)</pre>
<div class="block">Sets this Operation's operationId property to the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operationId</code> - unique string used to identify the operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getParameters--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParameters</h4>
<pre>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;&nbsp;getParameters()</pre>
<div class="block">Returns the parameters property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy List (potentially immutable) of parameters that are applicable for this operation</dd>
</dl>
</li>
</ul>
<a name="setParameters-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParameters</h4>
<pre>void&nbsp;setParameters(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;&nbsp;parameters)</pre>
<div class="block">Sets this Operation's parameters property to the given parameter list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameters</code> - a list of parameters that are applicable for this operation</dd>
</dl>
</li>
</ul>
<a name="parameters-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parameters</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;parameters(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&gt;&nbsp;parameters)</pre>
<div class="block">Sets this Operation's parameters property to the given parameter list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameters</code> - a list of parameters that are applicable for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="addParameter-org.eclipse.microprofile.openapi.models.parameters.Parameter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addParameter</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;addParameter(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&nbsp;parameter)</pre>
<div class="block">Adds the given parameter item to this Operation's list of parameters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameter</code> - a parameter that is applicable for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="removeParameter-org.eclipse.microprofile.openapi.models.parameters.Parameter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeParameter</h4>
<pre>void&nbsp;removeParameter(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/Parameter.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">Parameter</a>&nbsp;parameter)</pre>
<div class="block">Removes the given parameter item to this Operation's list of parameters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameter</code> - a parameter that is applicable for this operation</dd>
</dl>
</li>
</ul>
<a name="getRequestBody--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestBody</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a>&nbsp;getRequestBody()</pre>
<div class="block">Returns the requestBody property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the request body applicable for this operation</dd>
</dl>
</li>
</ul>
<a name="setRequestBody-org.eclipse.microprofile.openapi.models.parameters.RequestBody-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestBody</h4>
<pre>void&nbsp;setRequestBody(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a>&nbsp;requestBody)</pre>
<div class="block">Sets this Operation's requestBody property to the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestBody</code> - the request body applicable for this operation</dd>
</dl>
</li>
</ul>
<a name="requestBody-org.eclipse.microprofile.openapi.models.parameters.RequestBody-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestBody</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;requestBody(<a href="../../../../../org/eclipse/microprofile/openapi/models/parameters/RequestBody.html" title="interface in org.eclipse.microprofile.openapi.models.parameters">RequestBody</a>&nbsp;requestBody)</pre>
<div class="block">Sets this Operation's requestBody property to the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestBody</code> - the request body applicable for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getResponses--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponses</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a>&nbsp;getResponses()</pre>
<div class="block">Returns the responses property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>collection of possible responses from executing this operation</dd>
</dl>
</li>
</ul>
<a name="setResponses-org.eclipse.microprofile.openapi.models.responses.APIResponses-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResponses</h4>
<pre>void&nbsp;setResponses(<a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a>&nbsp;responses)</pre>
<div class="block">Sets this Operation's responses property to the given responses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>responses</code> - collection of possible responses from executing this operation</dd>
</dl>
</li>
</ul>
<a name="responses-org.eclipse.microprofile.openapi.models.responses.APIResponses-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>responses</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;responses(<a href="../../../../../org/eclipse/microprofile/openapi/models/responses/APIResponses.html" title="interface in org.eclipse.microprofile.openapi.models.responses">APIResponses</a>&nbsp;responses)</pre>
<div class="block">Sets this Operation's responses property to the given responses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>responses</code> - collection of possible responses from executing this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getCallbacks--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCallbacks</h4>
<pre>java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;&nbsp;getCallbacks()</pre>
<div class="block">Returns the callbacks property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy Map (potentially immutable) of possible out-of-band callbacks related to the operation</dd>
</dl>
</li>
</ul>
<a name="setCallbacks-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCallbacks</h4>
<pre>void&nbsp;setCallbacks(java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;&nbsp;callbacks)</pre>
<div class="block">Sets this Operation's callbacks property to the given map.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callbacks</code> - map of possible out-of-band callbacks related to the operation. The key value must be the correct
            format for this field.</dd>
</dl>
</li>
</ul>
<a name="callbacks-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>callbacks</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;callbacks(java.util.Map&lt;java.lang.String,<a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&gt;&nbsp;callbacks)</pre>
<div class="block">Sets this Operation's callbacks property to the given map.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callbacks</code> - map of possible out-of-band callbacks related to the operation. The key value must be the correct
            format for this field.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="addCallback-java.lang.String-org.eclipse.microprofile.openapi.models.callbacks.Callback-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCallback</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;addCallback(java.lang.String&nbsp;key,
                      <a href="../../../../../org/eclipse/microprofile/openapi/models/callbacks/Callback.html" title="interface in org.eclipse.microprofile.openapi.models.callbacks">Callback</a>&nbsp;callback)</pre>
<div class="block">Adds the given callback item to this Operation's map of callbacks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - a key conforming to the format required for this object</dd>
<dd><code>callback</code> - a callback that is applicable for this operation. null values will be rejected (implementation will
            throw an exception) or ignored.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="removeCallback-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeCallback</h4>
<pre>void&nbsp;removeCallback(java.lang.String&nbsp;key)</pre>
<div class="block">Removes the given callback item to this Operation's map of callbacks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - a key conforming to the format required for this object</dd>
</dl>
</li>
</ul>
<a name="getDeprecated--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeprecated</h4>
<pre>java.lang.Boolean&nbsp;getDeprecated()</pre>
<div class="block">Returns the deprecated property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>declaration whether this operation is deprecated</dd>
</dl>
</li>
</ul>
<a name="setDeprecated-java.lang.Boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeprecated</h4>
<pre>void&nbsp;setDeprecated(java.lang.Boolean&nbsp;deprecated)</pre>
<div class="block">Sets this Operation's deprecated property to the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deprecated</code> - declaration whether this operation is deprecated</dd>
</dl>
</li>
</ul>
<a name="deprecated-java.lang.Boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deprecated</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;deprecated(java.lang.Boolean&nbsp;deprecated)</pre>
<div class="block">Sets this Operation's deprecated property to the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deprecated</code> - declaration whether this operation is deprecated</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="getSecurity--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecurity</h4>
<pre>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;&nbsp;getSecurity()</pre>
<div class="block">Returns the security property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy List (potentially immutable) of which security mechanisms can be used for this operation</dd>
</dl>
</li>
</ul>
<a name="setSecurity-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSecurity</h4>
<pre>void&nbsp;setSecurity(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;&nbsp;security)</pre>
<div class="block">Sets this Operation's security property to the given list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>security</code> - list of which security mechanisms can be used for this operation</dd>
</dl>
</li>
</ul>
<a name="security-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>security</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;security(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&gt;&nbsp;security)</pre>
<div class="block">Sets this Operation's security property to the given list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>security</code> - list of which security mechanisms can be used for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="addSecurityRequirement-org.eclipse.microprofile.openapi.models.security.SecurityRequirement-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSecurityRequirement</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;addSecurityRequirement(<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&nbsp;securityRequirement)</pre>
<div class="block">Adds the given security requirement item to this Operation's list of security mechanisms.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>securityRequirement</code> - security mechanism which can be used for this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="removeSecurityRequirement-org.eclipse.microprofile.openapi.models.security.SecurityRequirement-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeSecurityRequirement</h4>
<pre>void&nbsp;removeSecurityRequirement(<a href="../../../../../org/eclipse/microprofile/openapi/models/security/SecurityRequirement.html" title="interface in org.eclipse.microprofile.openapi.models.security">SecurityRequirement</a>&nbsp;securityRequirement)</pre>
<div class="block">Removes the given security requirement item to this Operation's list of security mechanisms.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>securityRequirement</code> - security mechanism which can be used for this operation</dd>
</dl>
</li>
</ul>
<a name="getServers--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServers</h4>
<pre>java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;&nbsp;getServers()</pre>
<div class="block">Returns the servers property from an Operation instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy List (potentially immutable) of servers to service this operation</dd>
</dl>
</li>
</ul>
<a name="setServers-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServers</h4>
<pre>void&nbsp;setServers(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;&nbsp;servers)</pre>
<div class="block">Sets this Operation's servers property to the given list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>servers</code> - list of servers to service this operation</dd>
</dl>
</li>
</ul>
<a name="servers-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>servers</h4>
<pre>default&nbsp;<a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;servers(java.util.List&lt;<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&gt;&nbsp;servers)</pre>
<div class="block">Sets this Operation's servers property to the given list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>servers</code> - list of servers to service this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="addServer-org.eclipse.microprofile.openapi.models.servers.Server-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addServer</h4>
<pre><a href="../../../../../org/eclipse/microprofile/openapi/models/Operation.html" title="interface in org.eclipse.microprofile.openapi.models">Operation</a>&nbsp;addServer(<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&nbsp;server)</pre>
<div class="block">Adds the given server to this Operation's list of servers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>server</code> - server which can service this operation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Operation object</dd>
</dl>
</li>
</ul>
<a name="removeServer-org.eclipse.microprofile.openapi.models.servers.Server-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeServer</h4>
<pre>void&nbsp;removeServer(<a href="../../../../../org/eclipse/microprofile/openapi/models/servers/Server.html" title="interface in org.eclipse.microprofile.openapi.models.servers">Server</a>&nbsp;server)</pre>
<div class="block">Removes the given server to this Operation's list of servers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>server</code> - server which can service this operation</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/models/OpenAPI.html" title="interface in org.eclipse.microprofile.openapi.models"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/microprofile/openapi/models/PathItem.html" title="interface in org.eclipse.microprofile.openapi.models"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/microprofile/openapi/models/Operation.html" target="_top">Frames</a></li>
<li><a href="Operation.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
