blob: a202c828b57b8ac0554c0eacf09a34a37af1ab26 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) -->
<title>RestContext.Builder (Apache Juneau 9.0.1)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.juneau.rest, class: RestContext, class: Builder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li>Field</li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.juneau.rest</a></div>
<h1 title="Class RestContext.Builder" class="title">Class RestContext.Builder</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="../Context.Builder.html" title="class in org.apache.juneau">org.apache.juneau.Context.Builder</a>
<div class="inheritance">org.apache.juneau.rest.RestContext.Builder</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>jakarta.servlet.ServletConfig</code></dd>
</dl>
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public static final class </span><span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line-164">RestContext.Builder</a></span>
<span class="extends-implements">extends <a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a>
implements jakarta.servlet.ServletConfig</span></div>
<div class="block">Builder class.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.Class,org.apache.juneau.rest.RestContext,jakarta.servlet.ServletConfig)" class="member-name-link">Builder</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;parentContext,
jakarta.servlet.ServletConfig&nbsp;servletConfig)</code></div>
<div class="col-last even-row-color">
<div class="block">Constructor.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allowedHeaderParams(java.lang.String)" class="member-name-link">allowedHeaderParams</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Allowed header URL parameters.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allowedMethodHeaders(java.lang.String)" class="member-name-link">allowedMethodHeaders</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Allowed method headers.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allowedMethodParams(java.lang.String)" class="member-name-link">allowedMethodParams</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Allowed method parameters.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#annotations(java.lang.annotation.Annotation...)" class="member-name-link">annotations</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation" class="external-link">Annotation</a>...&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Defines annotations to apply to specific classes and methods.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#apply(org.apache.juneau.AnnotationWorkList)" class="member-name-link">apply</a><wbr>(<a href="../AnnotationWorkList.html" title="class in org.apache.juneau">AnnotationWorkList</a>&nbsp;work)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Applies a set of applied to this builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#applyAnnotations(java.lang.Class...)" class="member-name-link">applyAnnotations</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;...&nbsp;fromClasses)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified class to this context.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#applyAnnotations(java.lang.reflect.Method...)" class="member-name-link">applyAnnotations</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a>...&nbsp;fromMethods)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified method to this context.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../BeanContext.Builder.html" title="class in org.apache.juneau">BeanContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#beanContext()" class="member-name-link">beanContext</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the bean context sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#beanStore()" class="member-name-link">beanStore</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the bean store in this builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;T&gt;&nbsp;<a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#beanStore(java.lang.Class,T)" class="member-name-link">beanStore</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;beanType,
T&nbsp;bean)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a bean to the bean store of this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;T&gt;&nbsp;<a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#beanStore(java.lang.Class,T,java.lang.String)" class="member-name-link">beanStore</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;beanType,
T&nbsp;bean,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a bean to the bean store of this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Build the object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cache(org.apache.juneau.internal.Cache)" class="member-name-link">cache</a><wbr>(<a href="../internal/Cache.html" title="class in org.apache.juneau.internal">Cache</a>&lt;<a href="../utils/HashKey.html" title="class in org.apache.juneau.utils">HashKey</a>,<wbr>? extends <a href="../Context.html" title="class in org.apache.juneau">Context</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies a cache to use for hashkey-based caching.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#callLogger()" class="member-name-link">callLogger</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the call logger bean creator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#callLogger(java.lang.Class)" class="member-name-link">callLogger</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the call logger for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#callLogger(org.apache.juneau.rest.logger.CallLogger)" class="member-name-link">callLogger</a><wbr>(<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the call logger for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#child(java.lang.String,java.lang.Object)" class="member-name-link">child</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;path,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;child)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add a child REST resource.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#children(java.lang.Object...)" class="member-name-link">children</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Child REST resources.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clientVersionHeader(java.lang.String)" class="member-name-link">clientVersionHeader</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client version header.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#config()" class="member-name-link">config</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the external configuration file for this resource.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#config(org.apache.juneau.config.Config)" class="member-name-link">config</a><wbr>(<a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a>&nbsp;config)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Overwrites the default config file with a custom config file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#consumes()" class="member-name-link">consumes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the media types consumed by this resource if it's manually specified.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#consumes(org.apache.juneau.MediaType...)" class="member-name-link">consumes</a><wbr>(<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>...&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Supported content media types.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#copy()" class="member-name-link">copy</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Copy creator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../BeanContext.Builder.html" title="class in org.apache.juneau">BeanContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createBeanContext(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createBeanContext</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the bean context sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/BeanStore.Builder.html" title="class in org.apache.juneau.cp">BeanStore.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createBeanStore(java.util.function.Supplier)" class="member-name-link">createBeanStore</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates the bean store in this builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createCallLogger(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createCallLogger</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the call logger sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createConfig(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)" class="member-name-link">createConfig</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates the config for this builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createDebugEnablement(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createDebugEnablement</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the debug enablement bean creator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="httppart/NamedAttributeMap.html" title="class in org.apache.juneau.rest.httppart">NamedAttributeMap</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createDefaultRequestAttributes(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createDefaultRequestAttributes</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the default request attributes sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createDefaultRequestHeaders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createDefaultRequestHeaders</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the default request headers sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createDefaultResponseHeaders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createDefaultResponseHeaders</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the default response headers sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createDestroyMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createDestroyMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the destroy method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createEncoders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createEncoders</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the encoder group sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createEndCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createEndCallMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the end call method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../jsonschema/JsonSchemaGenerator.Builder.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createJsonSchemaGenerator(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createJsonSchemaGenerator</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the JSON schema generator sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createLogger(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)" class="member-name-link">createLogger</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the logger for this resource.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/Messages.Builder.html" title="class in org.apache.juneau.cp">Messages.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createMessages(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createMessages</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the messages sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="stats/MethodExecStore.Builder.html" title="class in org.apache.juneau.rest.stats">MethodExecStore.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createMethodExecStore(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createMethodExecStore</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the method execution statistics store sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createParsers(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createParsers</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the parser group sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../httppart/HttpPartParser.Creator.html" title="class in org.apache.juneau.httppart">HttpPartParser.Creator</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPartParser(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPartParser</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the part parser sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../httppart/HttpPartSerializer.Creator.html" title="class in org.apache.juneau.httppart">HttpPartSerializer.Creator</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPartSerializer(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPartSerializer</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the part serializer sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPostCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPostCallMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the post-call method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPostInitChildFirstMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPostInitChildFirstMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the post-init-child-first method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPostInitMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPostInitMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the post-init method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createPreCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createPreCallMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the pre-call method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="processor/ResponseProcessorList.Builder.html" title="class in org.apache.juneau.rest.processor">ResponseProcessorList.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createResponseProcessors(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createResponseProcessors</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the response processor list sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="RestChildren.Builder.html" title="class in org.apache.juneau.rest">RestChildren.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createRestChildren(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)" class="member-name-link">createRestChildren</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the REST children list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="arg/RestOpArgList.Builder.html" title="class in org.apache.juneau.rest.arg">RestOpArgList.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createRestOpArgs(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createRestOpArgs</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the REST operation args sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="RestOperations.Builder.html" title="class in org.apache.juneau.rest">RestOperations.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createRestOperations(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)" class="member-name-link">createRestOperations</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the REST operations list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createSerializers(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createSerializers</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the serializer group sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createStartCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createStartCallMethods</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the start call method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createStaticFiles(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createStaticFiles</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the static files bean creator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createSwaggerProvider(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)" class="member-name-link">createSwaggerProvider</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the swagger provider sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="stats/ThrownStore.Builder.html" title="class in org.apache.juneau.rest.stats">ThrownStore.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createThrownStore(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)" class="member-name-link">createThrownStore</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;parent)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Instantiates the thrown-store sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../svl/VarResolver.Builder.html" title="class in org.apache.juneau.svl">VarResolver.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createVarResolver(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)" class="member-name-link">createVarResolver</a><wbr>(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates the variable resolver sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debug()" class="member-name-link">debug</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Debug mode.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debug(boolean)" class="member-name-link">debug</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Same as <a href="../Context.Builder.html#debug()"><code>Context.Builder.debug()</code></a> but allows you to explicitly specify the value.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debugDefault(org.apache.juneau.Enablement)" class="member-name-link">debugDefault</a><wbr>(<a href="../Enablement.html" title="enum in org.apache.juneau">Enablement</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the debug default value.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debugEnablement()" class="member-name-link">debugEnablement</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the debug enablement bean creator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debugEnablement(java.lang.Class)" class="member-name-link">debugEnablement</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the debug enablement class to use for this REST context.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#debugEnablement(org.apache.juneau.rest.debug.DebugEnablement)" class="member-name-link">debugEnablement</a><wbr>(<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the debug enablement class to use for this REST context.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultAccept(java.lang.String)" class="member-name-link">defaultAccept</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies a default <c>Accept</c> header value if not specified on a request.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultCharset(java.nio.charset.Charset)" class="member-name-link">defaultCharset</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html" title="class or interface in java.nio.charset" class="external-link">Charset</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Default character encoding.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/DefaultClassList.html" title="class in org.apache.juneau.cp">DefaultClassList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultClasses()" class="member-name-link">defaultClasses</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the default implementation class list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultClasses(java.lang.Class...)" class="member-name-link">defaultClasses</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;...&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds to the default implementation class list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultContentType(java.lang.String)" class="member-name-link">defaultContentType</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies a default <c>Content-Type</c> header value if not specified on a request.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="httppart/NamedAttributeMap.html" title="class in org.apache.juneau.rest.httppart">NamedAttributeMap</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRequestAttributes()" class="member-name-link">defaultRequestAttributes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the default request attributes sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRequestAttributes(org.apache.juneau.rest.httppart.NamedAttribute...)" class="member-name-link">defaultRequestAttributes</a><wbr>(<a href="httppart/NamedAttribute.html" title="interface in org.apache.juneau.rest.httppart">NamedAttribute</a>...&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Default request attributes.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRequestHeaders()" class="member-name-link">defaultRequestHeaders</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the default request headers.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRequestHeaders(org.apache.http.Header...)" class="member-name-link">defaultRequestHeaders</a><wbr>(<a href="https://hc.apache.org/httpcomponents-core-4.4.x/current/httpcore/apidocs/org/apache/http/Header.html" title="class or interface in org.apache.http" class="external-link">Header</a>...&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Default request headers.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultResponseHeaders()" class="member-name-link">defaultResponseHeaders</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the default response headers.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultResponseHeaders(org.apache.http.Header...)" class="member-name-link">defaultResponseHeaders</a><wbr>(<a href="https://hc.apache.org/httpcomponents-core-4.4.x/current/httpcore/apidocs/org/apache/http/Header.html" title="class or interface in org.apache.http" class="external-link">Header</a>...&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Default response headers.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultSetting(java.lang.String,java.lang.Object)" class="member-name-link">defaultSetting</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets a value in the default settings map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/DefaultSettingsMap.html" title="class in org.apache.juneau.cp">DefaultSettingsMap</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultSettings()" class="member-name-link">defaultSettings</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the default settings map.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#destroyMethods()" class="member-name-link">destroyMethods</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the destroy method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disableContentParam()" class="member-name-link">disableContentParam</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Disable content URL parameter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disableContentParam(boolean)" class="member-name-link">disableContentParam</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Disable content URL parameter.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#encoders()" class="member-name-link">encoders</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the encoder group sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#encoders(java.lang.Class...)" class="member-name-link">encoders</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>&gt;...&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more encoders to this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#encoders(org.apache.juneau.encoders.Encoder...)" class="member-name-link">encoders</a><wbr>(<a href="../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more encoders to this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#endCallMethods()" class="member-name-link">endCallMethods</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the end call method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEncoders()" class="member-name-link">getEncoders</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the encoder group builder containing the encoders for compressing/decompressing input and output streams.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInitParameter(java.lang.String)" class="member-name-link">getInitParameter</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html" title="class or interface in java.util" class="external-link">Enumeration</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInitParameterNames()" class="member-name-link">getInitParameterNames</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getParsers()" class="member-name-link">getParsers</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the parser group builder containing the parsers for converting HTTP request bodies into POJOs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSerializers()" class="member-name-link">getSerializers</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the serializer group builder containing the serializers for marshalling POJOs into response bodies.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>jakarta.servlet.ServletContext</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getServletContext()" class="member-name-link">getServletContext</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getServletName()" class="member-name-link">getServletName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#impl(org.apache.juneau.Context)" class="member-name-link">impl</a><wbr>(<a href="../Context.html" title="class in org.apache.juneau">Context</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies a pre-instantiated bean for the <a href="../Context.Builder.html#build()"><code>Context.Builder.build()</code></a> method to return.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#init(java.util.function.Supplier)" class="member-name-link">init</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Performs initialization on this builder against the specified REST servlet/bean instance.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../jsonschema/JsonSchemaGenerator.Builder.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#jsonSchemaGenerator()" class="member-name-link">jsonSchemaGenerator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the JSON schema generator sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#jsonSchemaGenerator(java.lang.Class)" class="member-name-link">jsonSchemaGenerator</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../jsonschema/JsonSchemaGenerator.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the JSON schema generator for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#jsonSchemaGenerator(org.apache.juneau.jsonschema.JsonSchemaGenerator)" class="member-name-link">jsonSchemaGenerator</a><wbr>(<a href="../jsonschema/JsonSchemaGenerator.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the JSON schema generator for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#logger()" class="member-name-link">logger</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the logger for this resource.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#logger(java.util.logging.Logger)" class="member-name-link">logger</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the logger for this resource.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#maxInput(java.lang.String)" class="member-name-link">maxInput</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The maximum allowed input size (in bytes) on HTTP requests.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/Messages.Builder.html" title="class in org.apache.juneau.cp">Messages.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#messages()" class="member-name-link">messages</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the messages sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#messages(java.lang.Class)" class="member-name-link">messages</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../cp/Messages.html" title="class in org.apache.juneau.cp">Messages</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the messages bundle for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#messages(org.apache.juneau.cp.Messages)" class="member-name-link">messages</a><wbr>(<a href="../cp/Messages.html" title="class in org.apache.juneau.cp">Messages</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the messages bundle for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="stats/MethodExecStore.Builder.html" title="class in org.apache.juneau.rest.stats">MethodExecStore.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#methodExecStore()" class="member-name-link">methodExecStore</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the method execution statistics store sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#methodExecStore(java.lang.Class)" class="member-name-link">methodExecStore</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="stats/MethodExecStore.html" title="class in org.apache.juneau.rest.stats">MethodExecStore</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the method execution store for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#methodExecStore(org.apache.juneau.rest.stats.MethodExecStore)" class="member-name-link">methodExecStore</a><wbr>(<a href="stats/MethodExecStore.html" title="class in org.apache.juneau.rest.stats">MethodExecStore</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the method execution store for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parserListener(java.lang.Class)" class="member-name-link">parserListener</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Parser listener.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parsers()" class="member-name-link">parsers</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the parser group sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parsers(java.lang.Class...)" class="member-name-link">parsers</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&gt;...&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more parsers to this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parsers(org.apache.juneau.parser.Parser...)" class="member-name-link">parsers</a><wbr>(<a href="../parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more parsers to this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../httppart/HttpPartParser.Creator.html" title="class in org.apache.juneau.httppart">HttpPartParser.Creator</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partParser()" class="member-name-link">partParser</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the part parser sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partParser(java.lang.Class)" class="member-name-link">partParser</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the part parser to use for parsing HTTP parts for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partParser(org.apache.juneau.httppart.HttpPartParser)" class="member-name-link">partParser</a><wbr>(<a href="../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the part parser to use for parsing HTTP parts for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../httppart/HttpPartSerializer.Creator.html" title="class in org.apache.juneau.httppart">HttpPartSerializer.Creator</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partSerializer()" class="member-name-link">partSerializer</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the part serializer sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partSerializer(java.lang.Class)" class="member-name-link">partSerializer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the part serializer to use for serializing HTTP parts for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#partSerializer(org.apache.juneau.httppart.HttpPartSerializer)" class="member-name-link">partSerializer</a><wbr>(<a href="../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the part serializer to use for serializing HTTP parts for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#path(java.lang.String)" class="member-name-link">path</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Resource path.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#postCallMethods()" class="member-name-link">postCallMethods</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the post-call method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#postInitChildFirstMethods()" class="member-name-link">postInitChildFirstMethods</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the post-init-child-first method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#postInitMethods()" class="member-name-link">postInitMethods</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the post-init method list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#preCallMethods()" class="member-name-link">preCallMethods</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the pre-call method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#produces()" class="member-name-link">produces</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the media types produced by this resource if it's manually specified.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#produces(org.apache.juneau.MediaType...)" class="member-name-link">produces</a><wbr>(<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>...&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Supported accept media types.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#renderResponseStackTraces()" class="member-name-link">renderResponseStackTraces</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Render response stack traces in responses.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#renderResponseStackTraces(boolean)" class="member-name-link">renderResponseStackTraces</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Render response stack traces in responses.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resource()" class="member-name-link">resource</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the REST servlet/bean instance that this context is defined against.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resourceAs(java.lang.Class)" class="member-name-link">resourceAs</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;type)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the REST servlet/bean instance that this context is defined against if it's the specified type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="processor/ResponseProcessorList.Builder.html" title="class in org.apache.juneau.rest.processor">ResponseProcessorList.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#responseProcessors()" class="member-name-link">responseProcessors</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the response processor list sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#responseProcessors(java.lang.Class...)" class="member-name-link">responseProcessors</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>&gt;...&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more response processors to this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#responseProcessors(org.apache.juneau.rest.processor.ResponseProcessor...)" class="member-name-link">responseProcessors</a><wbr>(<a href="processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more response processors to this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestChildren.Builder.html" title="class in org.apache.juneau.rest">RestChildren.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restChildren(org.apache.juneau.rest.RestContext)" class="member-name-link">restChildren</a><wbr>(<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the REST children list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restChildrenClass(java.lang.Class)" class="member-name-link">restChildrenClass</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestChildren.html" title="class in org.apache.juneau.rest">RestChildren</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">REST children class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="arg/RestOpArgList.Builder.html" title="class in org.apache.juneau.rest.arg">RestOpArgList.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restOpArgs()" class="member-name-link">restOpArgs</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the REST operation args sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restOpArgs(java.lang.Class...)" class="member-name-link">restOpArgs</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="arg/RestOpArg.html" title="interface in org.apache.juneau.rest.arg">RestOpArg</a>&gt;...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more REST operation args to this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restOpContextClass(java.lang.Class)" class="member-name-link">restOpContextClass</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestOpContext.html" title="class in org.apache.juneau.rest">RestOpContext</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">REST operation context class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestOperations.Builder.html" title="class in org.apache.juneau.rest">RestOperations.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restOperations(org.apache.juneau.rest.RestContext)" class="member-name-link">restOperations</a><wbr>(<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the REST operations list.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restOperationsClass(java.lang.Class)" class="member-name-link">restOperationsClass</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestOperations.html" title="class in org.apache.juneau.rest">RestOperations</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">REST operations class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rootBeanStore()" class="member-name-link">rootBeanStore</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the root bean store.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#serializerListener(java.lang.Class)" class="member-name-link">serializerListener</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Serializer listener.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#serializers()" class="member-name-link">serializers</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the serializer group sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#serializers(java.lang.Class...)" class="member-name-link">serializers</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&gt;...&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more serializers to this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#serializers(org.apache.juneau.serializer.Serializer...)" class="member-name-link">serializers</a><wbr>(<a href="../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more serializers to this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startCallMethods()" class="member-name-link">startCallMethods</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the start call method list.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#staticFiles()" class="member-name-link">staticFiles</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the static files bean creator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#staticFiles(java.lang.Class)" class="member-name-link">staticFiles</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the static files resource finder for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#staticFiles(org.apache.juneau.rest.staticfile.StaticFiles)" class="member-name-link">staticFiles</a><wbr>(<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the static files resource finder for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#swaggerProvider()" class="member-name-link">swaggerProvider</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the swagger provider sub-builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#swaggerProvider(java.lang.Class)" class="member-name-link">swaggerProvider</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the swagger provider for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#swaggerProvider(org.apache.juneau.rest.swagger.SwaggerProvider)" class="member-name-link">swaggerProvider</a><wbr>(<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the swagger provider for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="stats/ThrownStore.Builder.html" title="class in org.apache.juneau.rest.stats">ThrownStore.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#thrownStore()" class="member-name-link">thrownStore</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the thrown-store sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#thrownStore(java.lang.Class)" class="member-name-link">thrownStore</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="stats/ThrownStore.html" title="class in org.apache.juneau.rest.stats">ThrownStore</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the thrown store for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#thrownStore(org.apache.juneau.rest.stats.ThrownStore)" class="member-name-link">thrownStore</a><wbr>(<a href="stats/ThrownStore.html" title="class in org.apache.juneau.rest.stats">ThrownStore</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Specifies the thrown store for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#type(java.lang.Class)" class="member-name-link">type</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../Context.html" title="class in org.apache.juneau">Context</a>&gt;&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Associates a context class with this builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#uriAuthority(java.lang.String)" class="member-name-link">uriAuthority</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Resource authority path.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#uriContext(java.lang.String)" class="member-name-link">uriContext</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Resource context path.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#uriRelativity(org.apache.juneau.UriRelativity)" class="member-name-link">uriRelativity</a><wbr>(<a href="../UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">URI resolution relativity.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#uriResolution(org.apache.juneau.UriResolution)" class="member-name-link">uriResolution</a><wbr>(<a href="../UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">URI resolution.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../svl/VarResolver.Builder.html" title="class in org.apache.juneau.svl">VarResolver.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#varResolver()" class="member-name-link">varResolver</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the variable resolver sub-builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#vars(java.lang.Class...)" class="member-name-link">vars</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../svl/Var.html" title="class in org.apache.juneau.svl">Var</a>&gt;...&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more variables to the var resolver of this class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#vars(org.apache.juneau.svl.Var...)" class="member-name-link">vars</a><wbr>(<a href="../svl/Var.html" title="class in org.apache.juneau.svl">Var</a>...&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds one or more variables to the var resolver of this class.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.juneau.Context.Builder">Methods inherited from class&nbsp;org.apache.juneau.<a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></h3>
<code><a href="../Context.Builder.html#apply(java.lang.Class,java.util.function.Consumer)">apply</a>, <a href="../Context.Builder.html#build(java.lang.Class)">build</a>, <a href="../Context.Builder.html#canApply(org.apache.juneau.AnnotationWorkList)">canApply</a>, <a href="../Context.Builder.html#env(java.lang.String)">env</a>, <a href="../Context.Builder.html#env(java.lang.String,T)">env</a>, <a href="../Context.Builder.html#getApplied()">getApplied</a>, <a href="../Context.Builder.html#getType()">getType</a>, <a href="../Context.Builder.html#hashKey()">hashKey</a>, <a href="../Context.Builder.html#isDebug()">isDebug</a>, <a href="../Context.Builder.html#registerBuilders(java.lang.Object...)">registerBuilders</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.lang.Class,org.apache.juneau.rest.RestContext,jakarta.servlet.ServletConfig)">
<h3>Builder</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-302">Builder</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;parentContext,
jakarta.servlet.ServletConfig&nbsp;servletConfig)</span></div>
<div class="block">Constructor.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resourceClass</code> - The REST servlet/bean type that this context is defined against.</dd>
<dd><code>parentContext</code> - The parent context if this is a child of another resource.</dd>
<dd><code>servletConfig</code> - The servlet config if available.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="copy()">
<h3>copy</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-319">copy</a></span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#copy()">Context.Builder</a></code></span></div>
<div class="block">Copy creator.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Context.Builder.html#copy()">copy</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Returns:</dt>
<dd>A new mutable copy of this builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="build()">
<h3>build</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-324">build</a></span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#build()">Context.Builder</a></code></span></div>
<div class="block">Build the object.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#build()">build</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Returns:</dt>
<dd>The built object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="init(java.util.function.Supplier)">
<h3>init</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-341">init</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span>
throws <span class="exceptions">jakarta.servlet.ServletException</span></div>
<div class="block">Performs initialization on this builder against the specified REST servlet/bean instance.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
<dt>Throws:</dt>
<dd><code>jakarta.servlet.ServletException</code> - If hook method calls failed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="resource()">
<h3>resource</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-451">resource</a></span>()</div>
<div class="block">Returns the REST servlet/bean instance that this context is defined against.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The REST servlet/bean instance that this context is defined against.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="resourceAs(java.lang.Class)">
<h3>resourceAs</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;T&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-462">resourceAs</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;type)</span></div>
<div class="block">Returns the REST servlet/bean instance that this context is defined against if it's the specified type.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - The expected type of the resource bean.</dd>
<dt>Parameters:</dt>
<dd><code>type</code> - The expected type of the resource bean.</dd>
<dt>Returns:</dt>
<dd>The bean cast to that instance, or <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#empty()" title="class or interface in java.util" class="external-link"><code>Optional.empty()</code></a> if it's not the specified type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultClasses()">
<h3>defaultClasses</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/DefaultClassList.html" title="class in org.apache.juneau.cp">DefaultClassList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-487">defaultClasses</a></span>()</div>
<div class="block">Returns the default implementation class list.
<p>
This defines the implementation classes for a variety of bean types.
<p>
Default classes are inherited from the parent REST object.
Typically used on the top-level <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest"><code>RestContext.Builder</code></a> to affect class types for that REST object and all children.
<p>
Modifying the default class list on this builder does not affect the default class list on the parent builder, but changes made
here are inherited by child builders.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The default implementation class list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultClasses(java.lang.Class...)">
<h3>defaultClasses</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-505">defaultClasses</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;...&nbsp;values)</span></div>
<div class="block">Adds to the default implementation class list.
<p>
A shortcut for the following code:
<p class='bjava'>
<jv>builder</jv>.defaultClasses().add(<jv>values</jv>);
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The values to add to the list of default classes.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#defaultClasses()"><code>defaultClasses()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultSettings()">
<h3>defaultSettings</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/DefaultSettingsMap.html" title="class in org.apache.juneau.cp">DefaultSettingsMap</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-527">defaultSettings</a></span>()</div>
<div class="block">Returns the default settings map.
<p>
Default settings are inherited from the parent REST object.
Typically used on the top-level <a href="RestContext.Builder.html" title="class in org.apache.juneau.rest"><code>RestContext.Builder</code></a> to affect settings for that REST object and all children.
<p>
Modifying the default settings map on this builder does not affect the default settings on the parent builder, but changes made
here are inherited by child builders.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The default settings map.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultSetting(java.lang.String,java.lang.Object)">
<h3>defaultSetting</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-546">defaultSetting</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;value)</span></div>
<div class="block">Sets a value in the default settings map.
<p>
A shortcut for the following code:
<p class='bjava'>
<jv>builder</jv>.defaultSettings().add(<jv>key</jv>, <jv>value</jv>);
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>key</code> - The setting key.</dd>
<dd><code>value</code> - The setting value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#defaultSettings()"><code>defaultSettings()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="beanStore()">
<h3>beanStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-578">beanStore</a></span>()</div>
<div class="block">Returns the bean store in this builder.
<p>
The bean store is a simple storage database for beans keyed by type and name.
<p>
The bean store is created with the parent root bean store as the parent, allowing any beans in the root bean store to be available
in this builder. The root bean store typically pulls from an injection framework such as Spring to allow injected beans to be used.
<p>
The default bean store can be overridden via any of the following:
<ul class='spaced-list'>
<li>Class annotation: <a href="annotation/Rest.html#beanStore()"><code>@Rest(beanStore)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated methods:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] BeanStore myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including <a href="../cp/BeanStore.Builder.html" title="class in org.apache.juneau.cp"><code>BeanStore.Builder</code></a>, the default builder.
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The bean store in this builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="beanStore(java.lang.Class,T)">
<h3 id="beanStore(java.lang.Class,java.lang.Object)">beanStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-600">beanStore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;beanType,
T&nbsp;bean)</span></div>
<div class="block">Adds a bean to the bean store of this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.beanStore().add(<jv>beanType</jv>, <jv>bean</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='jm'><a href="#beanStore()"><code>beanStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - The class to associate this bean with.</dd>
<dt>Parameters:</dt>
<dd><code>beanType</code> - The class to associate this bean with.</dd>
<dd><code>bean</code> - The bean. Can be <jk>null</jk>.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="beanStore(java.lang.Class,T,java.lang.String)">
<h3 id="beanStore(java.lang.Class,java.lang.Object,java.lang.String)">beanStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-624">beanStore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;beanType,
T&nbsp;bean,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Adds a bean to the bean store of this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.beanStore().add(<jv>beanType</jv>, <jv>bean</jv>, <jv>name</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='jm'><a href="#beanStore()"><code>beanStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - The class to associate this bean with.</dd>
<dt>Parameters:</dt>
<dd><code>beanType</code> - The class to associate this bean with.</dd>
<dd><code>bean</code> - The bean. Can be <jk>null</jk>.</dd>
<dd><code>name</code> - The bean name if this is a named bean. Can be <jk>null</jk>.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rootBeanStore()">
<h3>rootBeanStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-638">rootBeanStore</a></span>()</div>
<div class="block">Returns the root bean store.
<p>
This is the bean store inherited from the parent resource and does not include
any beans added by this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The root bean store.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createBeanStore(java.util.function.Supplier)">
<h3>createBeanStore</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/BeanStore.Builder.html" title="class in org.apache.juneau.cp">BeanStore.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-649">createBeanStore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Creates the bean store in this builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new bean store builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="varResolver()">
<h3>varResolver</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../svl/VarResolver.Builder.html" title="class in org.apache.juneau.svl">VarResolver.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-738">varResolver</a></span>()</div>
<div class="block">Returns the variable resolver sub-builder.
<p>
The variable resolver is used to resolve string variables of the form <js>"$X{...}"</js> in various places such as annotations on the REST class and methods.
<p>
Can be used to add more variables or context objects to the variable resolver.
These variables affect the variable resolver returned by <a href="RestRequest.html#getVarResolverSession()"><code>RestRequest.getVarResolverSession()</code></a>.
<p>
The var resolver is created by the constructor using the <a href="#createVarResolver(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)"><code>createVarResolver(BeanStore,Supplier,Class)</code></a> method and is initialized with the following variables:
<ul class='javatreec'>
<li class='jc'><a href="../svl/vars/ArgsVar.html" title="class in org.apache.juneau.svl.vars"><code>ArgsVar</code></a>
<li class='jc'><a href="../svl/vars/CoalesceVar.html" title="class in org.apache.juneau.svl.vars"><code>CoalesceVar</code></a>
<li class='jc'><a href="../config/vars/ConfigVar.html" title="class in org.apache.juneau.config.vars"><code>ConfigVar</code></a>
<li class='jc'><a href="../svl/vars/EnvVariablesVar.html" title="class in org.apache.juneau.svl.vars"><code>EnvVariablesVar</code></a>
<li class='jc'><a href="vars/FileVar.html" title="class in org.apache.juneau.rest.vars"><code>FileVar</code></a>
<li class='jc'><a href="../html/HtmlWidgetVar.html" title="class in org.apache.juneau.html"><code>HtmlWidgetVar</code></a>
<li class='jc'><a href="../svl/vars/IfVar.html" title="class in org.apache.juneau.svl.vars"><code>IfVar</code></a>
<li class='jc'><a href="../svl/vars/LenVar.html" title="class in org.apache.juneau.svl.vars"><code>LenVar</code></a>
<li class='jc'><a href="vars/LocalizationVar.html" title="class in org.apache.juneau.rest.vars"><code>LocalizationVar</code></a>
<li class='jc'><a href="../svl/vars/LowerCaseVar.html" title="class in org.apache.juneau.svl.vars"><code>LowerCaseVar</code></a>
<li class='jc'><a href="../svl/vars/ManifestFileVar.html" title="class in org.apache.juneau.svl.vars"><code>ManifestFileVar</code></a>
<li class='jc'><a href="../svl/vars/NotEmptyVar.html" title="class in org.apache.juneau.svl.vars"><code>NotEmptyVar</code></a>
<li class='jc'><a href="../svl/vars/PatternExtractVar.html" title="class in org.apache.juneau.svl.vars"><code>PatternExtractVar</code></a>
<li class='jc'><a href="../svl/vars/PatternMatchVar.html" title="class in org.apache.juneau.svl.vars"><code>PatternMatchVar</code></a>
<li class='jc'><a href="../svl/vars/PatternReplaceVar.html" title="class in org.apache.juneau.svl.vars"><code>PatternReplaceVar</code></a>
<li class='jc'><a href="vars/RequestAttributeVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestAttributeVar</code></a>
<li class='jc'><a href="vars/RequestFormDataVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestFormDataVar</code></a>
<li class='jc'><a href="vars/RequestHeaderVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestHeaderVar</code></a>
<li class='jc'><a href="vars/RequestPathVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestPathVar</code></a>
<li class='jc'><a href="vars/RequestQueryVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestQueryVar</code></a>
<li class='jc'><a href="vars/RequestSwaggerVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestSwaggerVar</code></a>
<li class='jc'><a href="vars/RequestVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestVar</code></a>
<li class='jc'><a href="vars/SerializedRequestAttrVar.html" title="class in org.apache.juneau.rest.vars"><code>SerializedRequestAttrVar</code></a>
<li class='jc'><a href="vars/ServletInitParamVar.html" title="class in org.apache.juneau.rest.vars"><code>ServletInitParamVar</code></a>
<li class='jc'><a href="../svl/vars/SubstringVar.html" title="class in org.apache.juneau.svl.vars"><code>SubstringVar</code></a>
<li class='jc'><a href="vars/SwaggerVar.html" title="class in org.apache.juneau.rest.vars"><code>SwaggerVar</code></a>
<li class='jc'><a href="../svl/vars/SwitchVar.html" title="class in org.apache.juneau.svl.vars"><code>SwitchVar</code></a>
<li class='jc'><a href="../svl/vars/SystemPropertiesVar.html" title="class in org.apache.juneau.svl.vars"><code>SystemPropertiesVar</code></a>
<li class='jc'><a href="../svl/vars/UpperCaseVar.html" title="class in org.apache.juneau.svl.vars"><code>UpperCaseVar</code></a>
<li class='jc'><a href="vars/UrlEncodeVar.html" title="class in org.apache.juneau.rest.vars"><code>UrlEncodeVar</code></a>
<li class='jc'><a href="vars/UrlVar.html" title="class in org.apache.juneau.rest.vars"><code>UrlVar</code></a>
</ul>
<p>
The default var resolver can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated methods:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] VarResolver myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including <a href="../svl/VarResolver.Builder.html" title="class in org.apache.juneau.svl"><code>VarResolver.Builder</code></a>, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.SvlVariables">SVL Variables</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The variable resolver sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="vars(java.lang.Class...)">
<h3>vars</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-759">vars</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../svl/Var.html" title="class in org.apache.juneau.svl">Var</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more variables to the var resolver of this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.vars().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.SvlVariables">SVL Variables</a>
<li class='jm'><a href="#varResolver()"><code>varResolver()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="vars(org.apache.juneau.svl.Var...)">
<h3>vars</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-782">vars</a></span><wbr><span class="parameters">(<a href="../svl/Var.html" title="class in org.apache.juneau.svl">Var</a>...&nbsp;value)</span></div>
<div class="block">Adds one or more variables to the var resolver of this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.vars().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.SvlVariables">SVL Variables</a>
<li class='jm'><a href="#varResolver()"><code>varResolver()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createVarResolver(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)">
<h3>createVarResolver</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../svl/VarResolver.Builder.html" title="class in org.apache.juneau.svl">VarResolver.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-802">createVarResolver</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</span></div>
<div class="block">Creates the variable resolver sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.SvlVariables">SVL Variables</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>resourceClass</code> - The REST servlet/bean type that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new variable resolver sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="config()">
<h3>config</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-884">config</a></span>()</div>
<div class="block">Returns the external configuration file for this resource.
<p>
The config file contains arbitrary configuration information that can be accessed by this class, usually
via <c>$C</c> variables.
<p>
The default config can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#config()"><code>@Rest(config)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] Config myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean.
</ul>
<p>
If a config file is not set up, then an empty config file will be returned that is not backed by any file.
<p>
This bean can be accessed directly via <a href="RestContext.html#getConfig()"><code>RestContext.getConfig()</code></a> or passed in as a parameter
on a <a href="annotation/RestOp.html" title="annotation in org.apache.juneau.rest.annotation"><code>RestOp</code></a>-annotated method.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ConfigurationFiles">Configuration Files</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The external configuration file for this resource.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="config(org.apache.juneau.config.Config)">
<h3>config</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-904">config</a></span><wbr><span class="parameters">(<a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a>&nbsp;config)</span></div>
<div class="block">Overwrites the default config file with a custom config file.
<p>
By default, the config file is determined using the <a href="annotation/Rest.html#config()"><code>@Rest(config)</code></a>
annotation.
This method allows you to programmatically override it with your own custom config file.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ConfigurationFiles">Configuration Files</a>
<li class='jm'><a href="#config()"><code>config()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>config</code> - The new config file.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createConfig(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)">
<h3>createConfig</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../config/Config.html" title="class in org.apache.juneau.config">Config</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-926">createConfig</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</span></div>
<div class="block">Creates the config for this builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ConfigurationFiles">Configuration Files</a>
<li class='jm'><a href="#config()"><code>config()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>resourceClass</code> - The REST servlet/bean type that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new config.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="logger()">
<h3>logger</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-997">logger</a></span>()</div>
<div class="block">Returns the logger for this resource.
<p>
The logger is used in the following locations:
<ul>
<li><a href="servlet/RestServlet.html#log(java.util.logging.Level,java.lang.Throwable,java.lang.String,java.lang.Object...)"><code>RestServlet.log(Level, Throwable, String, Object...)</code></a> and related methods.
<li><a href="servlet/RestObject.html#log(java.util.logging.Level,java.lang.Throwable,java.lang.String,java.lang.Object...)"><code>RestObject.log(Level, Throwable, String, Object...)</code></a> and related methods.
<li>In the <a href="#callLogger()"><code>callLogger()</code></a> of this resource.
</ul>
It can also be accessed directly via <a href="RestContext.html#getLogger()"><code>RestContext.getLogger()</code></a> or passed in as a parameter
on a <a href="annotation/RestOp.html" title="annotation in org.apache.juneau.rest.annotation"><code>RestOp</code></a>-annotated method.
<p>
The default config can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] Logger myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The logger for this resource.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="logger(java.util.logging.Logger)">
<h3>logger</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1014">logger</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a>&nbsp;value)</span></div>
<div class="block">Sets the logger for this resource.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
<li class='jm'><a href="#logger()"><code>logger()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The logger to use for the REST resource.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createLogger(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,java.lang.Class)">
<h3>createLogger</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link">Logger</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1035">createLogger</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;resourceClass)</span></div>
<div class="block">Instantiates the logger for this resource.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
<li class='jm'><a href="#logger()"><code>logger()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>resourceClass</code> - The REST servlet/bean class that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new logger.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="thrownStore()">
<h3>thrownStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="stats/ThrownStore.Builder.html" title="class in org.apache.juneau.rest.stats">ThrownStore.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1087">thrownStore</a></span>()</div>
<div class="block">Returns the thrown-store sub-builder.
<p>
The thrown store is an in-memory cache of thrown exceptions.
It is used to store thrown exceptions when <a href="stats/MethodExecStats.html#error(java.lang.Throwable)"><code>MethodExecStats.error(Throwable)</code></a> is called from the <a href="stats/MethodExecStore.html" title="class in org.apache.juneau.rest.stats"><code>MethodExecStore</code></a>
bean of this resource. It can also be accessed directly via <a href="RestContext.html#getThrownStore()"><code>RestContext.getThrownStore()</code></a> or passed in as a parameter
on a <a href="annotation/RestOp.html" title="annotation in org.apache.juneau.rest.annotation"><code>RestOp</code></a>-annotated method.
<p>
The default thrown store is inherited from the parent context and can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] ThrownStore myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including ThrownStore.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The builder for the <a href="stats/ThrownStore.html" title="class in org.apache.juneau.rest.stats"><code>ThrownStore</code></a> object in the REST context.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="thrownStore(java.lang.Class)">
<h3>thrownStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1110">thrownStore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="stats/ThrownStore.html" title="class in org.apache.juneau.rest.stats">ThrownStore</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the thrown store for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.thrownStore().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
<li class='jm'><a href="#thrownStore()"><code>thrownStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="thrownStore(org.apache.juneau.rest.stats.ThrownStore)">
<h3>thrownStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1132">thrownStore</a></span><wbr><span class="parameters">(<a href="stats/ThrownStore.html" title="class in org.apache.juneau.rest.stats">ThrownStore</a>&nbsp;value)</span></div>
<div class="block">Specifies the thrown store for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.thrownStore().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
<li class='jm'><a href="#thrownStore()"><code>thrownStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createThrownStore(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)">
<h3>createThrownStore</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="stats/ThrownStore.Builder.html" title="class in org.apache.juneau.rest.stats">ThrownStore.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1154">createThrownStore</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;parent)</span></div>
<div class="block">Instantiates the thrown-store sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>parent</code> - The parent context if the REST bean was registered via <a href="annotation/Rest.html#children()"><code>Rest.children()</code></a>.
<br>Will be <jk>null</jk> if the bean is a top-level resource.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.
<br>Created by <a href="#beanStore()"><code>beanStore()</code></a>.</dd>
<dt>Returns:</dt>
<dd>A new thrown-store sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="encoders()">
<h3>encoders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1213">encoders</a></span>()</div>
<div class="block">Returns the encoder group sub-builder.
<p>
Encoders are used to decode HTTP requests and encode HTTP responses based on <code>Content-Encoding</code> and <code>Accept-Encoding</code>
headers.
<p>
The default encoder set has support for identity incoding only.
It can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#encoders()"><code>@Rest(encoders)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] EncoderSet myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including EncoderSet.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Encoders">Encoders</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The builder for the <a href="../encoders/EncoderSet.html" title="class in org.apache.juneau.encoders"><code>EncoderSet</code></a> object in the REST context.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="encoders(java.lang.Class...)">
<h3>encoders</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1236">encoders</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more encoders to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.encoders().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Encoders">Encoders</a>
<li class='jm'><a href="#encoders()"><code>encoders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="encoders(org.apache.juneau.encoders.Encoder...)">
<h3>encoders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1259">encoders</a></span><wbr><span class="parameters">(<a href="../encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>...&nbsp;value)</span></div>
<div class="block">Adds one or more encoders to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.encoders().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Encoders">Encoders</a>
<li class='jm'><a href="#encoders()"><code>encoders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createEncoders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createEncoders</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1279">createEncoders</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the encoder group sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Encoders">Encoders</a>
<li class='jm'><a href="#encoders()"><code>encoders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.
<br>Created by <a href="#beanStore()"><code>beanStore()</code></a>.</dd>
<dt>Returns:</dt>
<dd>A new encoder group sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="serializers()">
<h3>serializers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1337">serializers</a></span>()</div>
<div class="block">Returns the serializer group sub-builder.
<p>
Serializers are used to convert POJOs to HTTP response bodies based on the <code>Accept</code> header.
<p>
The default serializer set is empty.
It can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#serializers()"><code>@Rest(serializers)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] SerializerSet myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including SerializerSet.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The serializer group sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="serializers(java.lang.Class...)">
<h3>serializers</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1360">serializers</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more serializers to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.serializers().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
<li class='jm'><a href="#serializers()"><code>serializers()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="serializers(org.apache.juneau.serializer.Serializer...)">
<h3>serializers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1383">serializers</a></span><wbr><span class="parameters">(<a href="../serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>...&nbsp;value)</span></div>
<div class="block">Adds one or more serializers to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.serializers().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
<li class='jm'><a href="#serializers()"><code>serializers()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createSerializers(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createSerializers</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1402">createSerializers</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the serializer group sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.
<br>Created by <a href="#beanStore()"><code>beanStore()</code></a>.</dd>
<dt>Returns:</dt>
<dd>A new serializer group sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parsers()">
<h3>parsers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1459">parsers</a></span>()</div>
<div class="block">Returns the parser group sub-builder.
<p>
Parsers are used to HTTP request bodies into POJOs based on the <code>Content-Type</code> header.
<p>
The default parser set is empty.
It can be overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#parsers()"><code>@Rest(parsers)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] ParserSet myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including ParserSet.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The parser group sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parsers(java.lang.Class...)">
<h3>parsers</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1482">parsers</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more parsers to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.parsers().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
<li class='jm'><a href="#parsers()"><code>parsers()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parsers(org.apache.juneau.parser.Parser...)">
<h3>parsers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1505">parsers</a></span><wbr><span class="parameters">(<a href="../parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>...&nbsp;value)</span></div>
<div class="block">Adds one or more parsers to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.parsers().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
<li class='jm'><a href="#parsers()"><code>parsers()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createParsers(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createParsers</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1524">createParsers</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the parser group sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.
<br>Created by <a href="#beanStore()"><code>beanStore()</code></a>.</dd>
<dt>Returns:</dt>
<dd>A new parser group sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="methodExecStore()">
<h3>methodExecStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="stats/MethodExecStore.Builder.html" title="class in org.apache.juneau.rest.stats">MethodExecStore.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1581">methodExecStore</a></span>()</div>
<div class="block">Returns the method execution statistics store sub-builder.
<p>
Used for tracking basic call statistics on Java methods in this class.
It can be accessed directly via <a href="RestContext.html#getMethodExecStore()"><code>RestContext.getMethodExecStore()</code></a> or passed in as a parameter
on a <a href="annotation/RestOp.html" title="annotation in org.apache.juneau.rest.annotation"><code>RestOp</code></a>-annotated method.
<p>
The default method exec store can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] MethodExecStore myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including MethodExecStore.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The method execution statistics store sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="methodExecStore(java.lang.Class)">
<h3>methodExecStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1604">methodExecStore</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="stats/MethodExecStore.html" title="class in org.apache.juneau.rest.stats">MethodExecStore</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the method execution store for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.methodExecStore().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
<li class='jm'><a href="#methodExecStore()"><code>methodExecStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="methodExecStore(org.apache.juneau.rest.stats.MethodExecStore)">
<h3>methodExecStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1626">methodExecStore</a></span><wbr><span class="parameters">(<a href="stats/MethodExecStore.html" title="class in org.apache.juneau.rest.stats">MethodExecStore</a>&nbsp;value)</span></div>
<div class="block">Specifies the method execution store for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.methodExecStore().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
<li class='jm'><a href="#methodExecStore()"><code>methodExecStore()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createMethodExecStore(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createMethodExecStore</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="stats/MethodExecStore.Builder.html" title="class in org.apache.juneau.rest.stats">MethodExecStore.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1644">createMethodExecStore</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the method execution statistics store sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ExecutionStatistics">REST method execution statistics</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new method execution statistics store sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="messages()">
<h3>messages</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/Messages.Builder.html" title="class in org.apache.juneau.cp">Messages.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1769">messages</a></span>()</div>
<div class="block">Returns the messages sub-builder.
<p>
Messages beans are wrappers around resource bundles containing localized messages.
<p>
By default, the resource bundle name is assumed to match the class name. For example, given the class
<c>MyClass.java</c>, the resource bundle is assumed to be <c>MyClass.properties</c>. This property
allows you to override this setting to specify a different location such as <c>MyMessages.properties</c> by
specifying a value of <js>"MyMessages"</js>.
<p>
Resource bundles are searched using the following base name patterns:
<ul>
<li><js>"{package}.{name}"</js>
<li><js>"{package}.i18n.{name}"</js>
<li><js>"{package}.nls.{name}"</js>
<li><js>"{package}.messages.{name}"</js>
</ul>
<p>
This annotation is used to provide request-localized (based on <c>Accept-Language</c>) messages for the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestRequest.html#getMessage(java.lang.String,java.lang.Object...)"><code>RestRequest.getMessage(String, Object...)</code></a>
<li class='jm'><a href="RestContext.html#getMessages()"><code>RestContext.getMessages()</code></a>
</ul>
<p>
Request-localized messages are also available by passing either of the following parameter types into your Java method:
<ul class='javatree'>
<li class='jc'><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html" title="class or interface in java.util" class="external-link"><code>ResourceBundle</code></a> - Basic Java resource bundle.
<li class='jc'><a href="../cp/Messages.html" title="class in org.apache.juneau.cp"><code>Messages</code></a> - Extended resource bundle with several convenience methods.
</ul>
The value can be a relative path like <js>"nls/Messages"</js>, indicating to look for the resource bundle
<js>"com.foo.sample.nls.Messages"</js> if the resource class is in <js>"com.foo.sample"</js>, or it can be an
absolute path like <js>"com.foo.sample.nls.Messages"</js>
<h5 class='section'>Examples:</h5>
<p class='bini'>
<cc># Contents of org/apache/foo/nls/MyMessages.properties</cc>
<ck>HelloMessage</ck> = <cv>Hello {0}!</cv>
</p>
<p class='bjava'>
<jc>// Contents of org/apache/foo/MyResource.java</jc>
<ja>@Rest</ja>(messages=<js>"nls/MyMessages"</js>)
<jk>public class</jk> MyResource {...}
<ja>@RestGet</ja>(<js>"/hello/{you}"</js>)
<jk>public</jk> Object helloYou(RestRequest <jv>req</jv>, Messages <jv>messages</jv>, <ja>@Path</ja>(<js>"name"</js>) String <jv>you</jv>) {
String <jv>string</jv>;
<jc>// Get it from the RestRequest object.</jc>
<jv>string</jv> = <jv>req</jv>.getMessage(<js>"HelloMessage"</js>, <jv>you</jv>);
<jc>// Or get it from the method parameter.</jc>
<jv>string</jv> = <jv>messages</jv>.getString(<js>"HelloMessage"</js>, <jv>you</jv>);
<jc>// Or get the message in a locale different from the request.</jc>
<jv>string</jv> = <jv>messages</jv>.forLocale(Locale.<jsf>UK</jsf>).getString(<js>"HelloMessage"</js>, <jv>you</jv>);
<jk>return</jk> <jv>string</jv>;
}
}
</p>
<p>
The default messages can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#messages()"><code>@Rest(messages)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] Messages myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including Messages.Builder, the default builder.
</ul>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>Mappings are cumulative from super classes.
<br>Therefore, you can find and retrieve messages up the class-hierarchy chain.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='jc'><a href="../cp/Messages.html" title="class in org.apache.juneau.cp"><code>Messages</code></a>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LocalizedMessages">Localized Messages</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The messages sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="messages(java.lang.Class)">
<h3>messages</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1792">messages</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../cp/Messages.html" title="class in org.apache.juneau.cp">Messages</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the messages bundle for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.messages().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LocalizedMessages">Localized Messages</a>
<li class='jm'><a href="#messages()"><code>messages()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="messages(org.apache.juneau.cp.Messages)">
<h3>messages</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1814">messages</a></span><wbr><span class="parameters">(<a href="../cp/Messages.html" title="class in org.apache.juneau.cp">Messages</a>&nbsp;value)</span></div>
<div class="block">Specifies the messages bundle for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.messages().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LocalizedMessages">Localized Messages</a>
<li class='jm'><a href="#messages()"><code>messages()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createMessages(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createMessages</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/Messages.Builder.html" title="class in org.apache.juneau.cp">Messages.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1832">createMessages</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the messages sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LocalizedMessages">Localized Messages</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new messages sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="responseProcessors()">
<h3>responseProcessors</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="processor/ResponseProcessorList.Builder.html" title="class in org.apache.juneau.rest.processor">ResponseProcessorList.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1954">responseProcessors</a></span>()</div>
<div class="block">Returns the response processor list sub-builder.
<p>
Specifies a list of <a href="processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor"><code>ResponseProcessor</code></a> classes that know how to convert POJOs returned by REST methods or
set via <a href="RestResponse.html#setContent(java.lang.Object)"><code>RestResponse.setContent(Object)</code></a> into appropriate HTTP responses.
<p>
By default, the following response handlers are provided in the specified order:
<ul class='javatreec'>
<li class='jc'><a href="processor/ReaderProcessor.html" title="class in org.apache.juneau.rest.processor"><code>ReaderProcessor</code></a>
<li class='jc'><a href="processor/InputStreamProcessor.html" title="class in org.apache.juneau.rest.processor"><code>InputStreamProcessor</code></a>
<li class='jc'><a href="processor/ThrowableProcessor.html" title="class in org.apache.juneau.rest.processor"><code>ThrowableProcessor</code></a>
<li class='jc'><a href="processor/HttpResponseProcessor.html" title="class in org.apache.juneau.rest.processor"><code>HttpResponseProcessor</code></a>
<li class='jc'><a href="processor/HttpResourceProcessor.html" title="class in org.apache.juneau.rest.processor"><code>HttpResourceProcessor</code></a>
<li class='jc'><a href="processor/HttpEntityProcessor.html" title="class in org.apache.juneau.rest.processor"><code>HttpEntityProcessor</code></a>
<li class='jc'><a href="processor/ResponseBeanProcessor.html" title="class in org.apache.juneau.rest.processor"><code>ResponseBeanProcessor</code></a>
<li class='jc'><a href="processor/PlainTextPojoProcessor.html" title="class in org.apache.juneau.rest.processor"><code>PlainTextPojoProcessor</code></a>
<li class='jc'><a href="processor/SerializedPojoProcessor.html" title="class in org.apache.juneau.rest.processor"><code>SerializedPojoProcessor</code></a>
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our custom response processor for Foo objects. </jc>
<jk>public class</jk> MyResponseProcessor <jk>implements</jk> ResponseProcessor {
<ja>@Override</ja>
<jk>public int</jk> process(RestOpSession <jv>opSession</jv>) <jk>throws</jk> IOException {
RestResponse <jv>res</jv> = <jv>opSession</jv>.getResponse();
Foo <jv>foo</jv> = <jv>res</jv>.getOutput(Foo.<jk>class</jk>);
<jk>if</jk> (<jv>foo</jv> == <jk>null</jk>)
<jk>return</jk> <jsf>NEXT</jsf>; <jc>// Let the next processor handle it.</jc>
<jk>try</jk> (Writer <jv>writer</jv> = <jv>res</jv>.getNegotiatedWriter()) {
<jc>//Pipe it to the writer ourselves.</jc>
}
<jk>return</jk> <jsf>FINISHED</jsf>; <jc>// We handled it.</jc>
}
}
}
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(responseProcessors=MyResponseProcessor.<jk>class</jk>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.responseProcessors(MyResponseProcessors.<jk>class</jk>);
}
<ja>@RestGet</ja>(...)
<jk>public</jk> Object myMethod() {
<jc>// Return a special object for our handler.</jc>
<jk>return new</jk> MySpecialObject();
}
}
</p>
<p>
The default response processors can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#responseProcessors()"><code>@Rest(responseProcessors)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] ResponseProcessorList myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including ResponseProcessorList.Builder, the default builder.
</ul>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
Response processors are always inherited from ascendant resources.
<li class='note'>
When defined as a class, the implementation must have one of the following constructors:
<ul>
<li><code><jk>public</jk> T(RestContext)</code>
<li><code><jk>public</jk> T()</code>
<li><code><jk>public static</jk> T <jsm>create</jsm>(RestContext)</code>
<li><code><jk>public static</jk> T <jsm>create</jsm>()</code>
</ul>
<li class='note'>
Inner classes of the REST resource class are allowed.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ResponseProcessors">Response Processors</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The response processor list sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="responseProcessors(java.lang.Class...)">
<h3>responseProcessors</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-1977">responseProcessors</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more response processors to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.responseProcessors().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ResponseProcessors">Response Processors</a>
<li class='jm'><a href="#responseProcessors()"><code>responseProcessors()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="responseProcessors(org.apache.juneau.rest.processor.ResponseProcessor...)">
<h3>responseProcessors</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2000">responseProcessors</a></span><wbr><span class="parameters">(<a href="processor/ResponseProcessor.html" title="interface in org.apache.juneau.rest.processor">ResponseProcessor</a>...&nbsp;value)</span></div>
<div class="block">Adds one or more response processors to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.responseProcessors().add(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ResponseProcessors">Response Processors</a>
<li class='jm'><a href="#responseProcessors()"><code>responseProcessors()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The values to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createResponseProcessors(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createResponseProcessors</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="processor/ResponseProcessorList.Builder.html" title="class in org.apache.juneau.rest.processor">ResponseProcessorList.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2018">createResponseProcessors</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the response processor list sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.ResponseProcessors">Response Processors</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new response processor list sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="callLogger()">
<h3>callLogger</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2123">callLogger</a></span>()</div>
<div class="block">Returns the call logger bean creator.
<p>
Specifies the logger to use for logging of HTTP requests and responses.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our customized logger.</jc>
<jk>public class</jk> MyLogger <jk>extends</jk> BasicCallLogger {
<jk>public</jk> MyLogger(BeanStore <jv>beanStore</jv>) {
<jk>super</jk>(<jv>beanStore</jv>);
}
<ja>@Override</ja>
<jk>protected void</jk> log(Level <jv>level</jv>, String <jv>msg</jv>, Throwable <jv>e</jv>) {
<jc>// Handle logging ourselves.</jc>
}
}
<jc>// Option #1 - Registered via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(callLogger=MyLogger.<jk>class</jk>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Registered via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.callLogger(MyLogger.<jk>class</jk>);
}
}
</p>
<p>
The default call logger can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li>Class annotation: <a href="annotation/Rest.html#callLogger()"><code>@Rest(callLogger)</code></a>
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] CallLogger myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean.
</ul>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
The default call logger if not specified is <a href="logger/BasicCallLogger.html" title="class in org.apache.juneau.rest.logger"><code>BasicCallLogger</code></a>.
<li class='note'>
The resource class itself will be used if it implements the <a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger"><code>CallLogger</code></a> interface and not
explicitly overridden via this annotation.
<li class='note'>
When defined as a class, the implementation must have one of the following constructor:
<ul>
<li><code><jk>public</jk> T(BeanStore)</code>
</ul>
<li class='note'>
Inner classes of the REST resource class are allowed.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The call logger sub-builder.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link">RuntimeException</a></code> - If <a href="#init(java.util.function.Supplier)"><code>init(Supplier)</code></a> has not been called.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="callLogger(java.lang.Class)">
<h3>callLogger</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2146">callLogger</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the call logger for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.callLogger().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
<li class='jm'><a href="#callLogger()"><code>callLogger()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="callLogger(org.apache.juneau.rest.logger.CallLogger)">
<h3>callLogger</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2168">callLogger</a></span><wbr><span class="parameters">(<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&nbsp;value)</span></div>
<div class="block">Specifies the call logger for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.callLogger().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
<li class='jm'><a href="#callLogger()"><code>callLogger()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createCallLogger(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createCallLogger</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="logger/CallLogger.html" title="class in org.apache.juneau.rest.logger">CallLogger</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2186">createCallLogger</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the call logger sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.LoggingAndDebugging">Logging / Debugging</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new call logger sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="beanContext()">
<h3>beanContext</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../BeanContext.Builder.html" title="class in org.apache.juneau">BeanContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2226">beanContext</a></span>()</div>
<div class="block">Returns the bean context sub-builder.
<p>
The bean context is used to retrieve metadata on Java beans.
<p>
The default bean context can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The bean context sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createBeanContext(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createBeanContext</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../BeanContext.Builder.html" title="class in org.apache.juneau">BeanContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2241">createBeanContext</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the bean context sub-builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new bean context sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partSerializer()">
<h3>partSerializer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../httppart/HttpPartSerializer.Creator.html" title="class in org.apache.juneau.httppart">HttpPartSerializer.Creator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2290">partSerializer</a></span>()</div>
<div class="block">Returns the part serializer sub-builder.
<p>
The part serializer is used for serializing HTTP parts such as response headers.
<p>
The default part serializer is an <a href="../oapi/OpenApiSerializer.html" title="class in org.apache.juneau.oapi"><code>OpenApiSerializer</code></a>.
It can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] HttpPartSerializer myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including HttpPartSerializer.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The part serializer sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partSerializer(java.lang.Class)">
<h3>partSerializer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2313">partSerializer</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the part serializer to use for serializing HTTP parts for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.partSerializer().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
<li class='jm'><a href="#partSerializer()"><code>partSerializer()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partSerializer(org.apache.juneau.httppart.HttpPartSerializer)">
<h3>partSerializer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2335">partSerializer</a></span><wbr><span class="parameters">(<a href="../httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&nbsp;value)</span></div>
<div class="block">Specifies the part serializer to use for serializing HTTP parts for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.partSerializer().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
<li class='jm'><a href="#partSerializer()"><code>partSerializer()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPartSerializer(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPartSerializer</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../httppart/HttpPartSerializer.Creator.html" title="class in org.apache.juneau.httppart">HttpPartSerializer.Creator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2353">createPartSerializer</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the part serializer sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new part serializer sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partParser()">
<h3>partParser</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../httppart/HttpPartParser.Creator.html" title="class in org.apache.juneau.httppart">HttpPartParser.Creator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2420">partParser</a></span>()</div>
<div class="block">Returns the part parser sub-builder.
<p>
The part parser is used for parsing HTTP parts such as request headers and query/form/path parameters.
<p>
The default part parser is an <a href="../oapi/OpenApiParser.html" title="class in org.apache.juneau.oapi"><code>OpenApiParser</code></a>.
It can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] HttpPartParser myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including HttpPartParser.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The part parser sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partParser(java.lang.Class)">
<h3>partParser</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2443">partParser</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the part parser to use for parsing HTTP parts for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.partParser().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
<li class='jm'><a href="#partParser()"><code>partParser()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="partParser(org.apache.juneau.httppart.HttpPartParser)">
<h3>partParser</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2465">partParser</a></span><wbr><span class="parameters">(<a href="../httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart">HttpPartParser</a>&nbsp;value)</span></div>
<div class="block">Specifies the part parser to use for parsing HTTP parts for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.partParser().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
<li class='jm'><a href="#partParser()"><code>partParser()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPartParser(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPartParser</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../httppart/HttpPartParser.Creator.html" title="class in org.apache.juneau.httppart">HttpPartParser.Creator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2483">createPartParser</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the part parser sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.HttpParts">HTTP Parts</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new part parser sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="jsonSchemaGenerator()">
<h3>jsonSchemaGenerator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../jsonschema/JsonSchemaGenerator.Builder.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2550">jsonSchemaGenerator</a></span>()</div>
<div class="block">Returns the JSON schema generator sub-builder.
<p>
The JSON schema generator is used for generating JSON schema in the auto-generated Swagger documentation.
<p>
The default JSON schema generator is a default <a href="../jsonschema/JsonSchemaGenerator.html" title="class in org.apache.juneau.jsonschema"><code>JsonSchemaGenerator</code></a>.
It can overridden via any of the following:
<ul class='spaced-list'>
<li>Injected via bean store.
<li><a href="annotation/RestInject.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestInject</code></a>-annotated method:
<p class='bjava'>
<ja>@RestInject</ja> <jk>public</jk> [<jk>static</jk>] JsonSchemaGenerator myMethod(<i>&lt;args&gt;</i>) {...}
</p>
Args can be any injected bean including JsonSchemaGenerator.Builder, the default builder.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Swagger">Swagger</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The JSON schema generator sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="jsonSchemaGenerator(java.lang.Class)">
<h3>jsonSchemaGenerator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2573">jsonSchemaGenerator</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../jsonschema/JsonSchemaGenerator.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the JSON schema generator for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.jsonSchemaGenerator().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Swagger">Swagger</a>
<li class='jm'><a href="#jsonSchemaGenerator()"><code>jsonSchemaGenerator()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="jsonSchemaGenerator(org.apache.juneau.jsonschema.JsonSchemaGenerator)">
<h3>jsonSchemaGenerator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2595">jsonSchemaGenerator</a></span><wbr><span class="parameters">(<a href="../jsonschema/JsonSchemaGenerator.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator</a>&nbsp;value)</span></div>
<div class="block">Specifies the JSON schema generator for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.jsonSchemaGenerator().impl(<jv>value</jv>);
<li class='jm'><a href="#jsonSchemaGenerator()"><code>jsonSchemaGenerator()</code></a>
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Swagger">Swagger</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createJsonSchemaGenerator(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createJsonSchemaGenerator</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../jsonschema/JsonSchemaGenerator.Builder.html" title="class in org.apache.juneau.jsonschema">JsonSchemaGenerator.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2613">createJsonSchemaGenerator</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the JSON schema generator sub-builder.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Swagger">Swagger</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new JSON schema generator sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="staticFiles()">
<h3>staticFiles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2704">staticFiles</a></span>()</div>
<div class="block">Returns the static files bean creator.
<p>
Used to retrieve localized files to be served up as static files through the REST API via the following
predefined methods:
<ul class='javatree'>
<li class='jm'><a href="servlet/BasicRestObject.html#getHtdoc(java.lang.String,java.util.Locale)"><code>BasicRestObject.getHtdoc(String, Locale)</code></a>.
<li class='jm'><a href="servlet/BasicRestServlet.html#getHtdoc(java.lang.String,java.util.Locale)"><code>BasicRestServlet.getHtdoc(String, Locale)</code></a>.
</ul>
<p>
The static file finder can be accessed through the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestContext.html#getStaticFiles()"><code>RestContext.getStaticFiles()</code></a>
<li class='jm'><a href="RestRequest.html#getStaticFiles()"><code>RestRequest.getStaticFiles()</code></a>
</ul>
<p>
The default static files finder implementation class is <a href="staticfile/BasicStaticFiles.html" title="class in org.apache.juneau.rest.staticfile"><code>BasicStaticFiles</code></a>. This can be overridden via the following:
<ul class='spaced-list'>
<li>
The <a href="annotation/Rest.html#staticFiles()"><code>@Rest(staticFiles)</code></a> annotation.
<li>
Overridden <a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile"><code>StaticFiles</code></a> implementation class name specified in <a href="#defaultClasses()"><code>defaultClasses()</code></a>.
<li>
Type specified via <c><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest"><code>RestContext.Builder</code></a>.<a href="#staticFiles()"><code>staticFiles()</code></a>.<a href="staticfile/StaticFiles.Builder.html#type(java.lang.Class)"><code>type(Class)</code></a></c>.
<li>
Bean specified via <c><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest"><code>RestContext.Builder</code></a>.<a href="#staticFiles()"><code>staticFiles()</code></a>.<a href="staticfile/StaticFiles.Builder.html#impl(java.lang.Object)"><code>impl(Object)</code></a></c>.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Create a static file finder that looks for files in the /files working subdirectory, but
// overrides the find() and resolve methods for special handling of special cases and adds a
// Foo header to all requests.</jc>
<jk>public class</jk> MyStaticFiles <jk>extends</jk> BasicStaticFiles {
<jk>public</jk> MyStaticFiles() {
<jk>super</jk>(
StaticFiles
.<jsm>create</jsm>()
.dir(<js>"/files"</js>)
.headers(BasicStringHeader.<jsm>of</jsm>(<js>"Foo"</js>, <js>"bar"</js>))
);
}
}
</p>
<p class='bjava'>
<ja>@Rest</ja>(staticFiles=MyStaticFiles.<jk>class</jk>)
<jk>public class</jk> MyResource {...}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.StaticFiles">Static files</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The static files bean creator.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="staticFiles(java.lang.Class)">
<h3>staticFiles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2726">staticFiles</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the static files resource finder for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.staticFiles().type(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.StaticFiles">Static files</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="staticFiles(org.apache.juneau.rest.staticfile.StaticFiles)">
<h3>staticFiles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2747">staticFiles</a></span><wbr><span class="parameters">(<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&nbsp;value)</span></div>
<div class="block">Specifies the static files resource finder for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.staticFiles().impl(<jv>value</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.StaticFiles">Static files</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createStaticFiles(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createStaticFiles</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="staticfile/StaticFiles.html" title="interface in org.apache.juneau.rest.staticfile">StaticFiles</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2765">createStaticFiles</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the static files bean creator.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.StaticFiles">Static files</a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new static files sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultRequestHeaders()">
<h3>defaultRequestHeaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2796">defaultRequestHeaders</a></span>()</div>
<div class="block">Returns the default request headers.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The default request headers.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultRequestHeaders(org.apache.http.Header...)">
<h3>defaultRequestHeaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2857">defaultRequestHeaders</a></span><wbr><span class="parameters">(<a href="https://hc.apache.org/httpcomponents-core-4.4.x/current/httpcore/apidocs/org/apache/http/Header.html" title="class or interface in org.apache.http" class="external-link">Header</a>...&nbsp;values)</span></div>
<div class="block">Default request headers.
<p>
Specifies default values for request headers if they're not passed in through the request.
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
Affects values returned by <code>HttpServletRequestWrapper.getHeader(String)</code> when the header is not present on the request.
<li class='note'>
The most useful reason for this annotation is to provide a default <c>Accept</c> header when one is not
specified so that a particular default <a href="../serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a> is picked.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(defaultRequestHeaders={<js>"Accept: application/json"</js>, <js>"My-Header=$C{REST/myHeaderValue}"</js>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>
.defaultRequestHeaders(
Accept.<jsm>of</jsm>(<js>"application/json"</js>),
BasicHeader.<jsm>of</jsm>(<js>"My-Header"</js>, <js>"foo"</js>)
);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.defaultRequestHeaders(Accept.<jsm>of</jsm>(<js>"application/json"</js>));
}
<jc>// Override at the method level.</jc>
<ja>@RestGet</ja>(defaultRequestHeaders={<js>"Accept: text/xml"</js>})
<jk>public</jk> Object myMethod() {...}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#defaultRequestHeaders()"><code>Rest.defaultRequestHeaders()</code></a>
<li class='ja'><a href="annotation/RestOp.html#defaultRequestHeaders()"><code>RestOp.defaultRequestHeaders()</code></a>
<li class='ja'><a href="annotation/RestGet.html#defaultRequestHeaders()"><code>RestGet.defaultRequestHeaders()</code></a>
<li class='ja'><a href="annotation/RestPut.html#defaultRequestHeaders()"><code>RestPut.defaultRequestHeaders()</code></a>
<li class='ja'><a href="annotation/RestPost.html#defaultRequestHeaders()"><code>RestPost.defaultRequestHeaders()</code></a>
<li class='ja'><a href="annotation/RestDelete.html#defaultRequestHeaders()"><code>RestDelete.defaultRequestHeaders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The headers to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultAccept(java.lang.String)">
<h3>defaultAccept</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2871">defaultAccept</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Specifies a default <c>Accept</c> header value if not specified on a request.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The default value of the <c>Accept</c> header.
<br>Ignored if <jk>null</jk> or empty.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultContentType(java.lang.String)">
<h3>defaultContentType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2886">defaultContentType</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Specifies a default <c>Content-Type</c> header value if not specified on a request.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The default value of the <c>Content-Type</c> header.
<br>Ignored if <jk>null</jk> or empty.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createDefaultRequestHeaders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createDefaultRequestHeaders</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2902">createDefaultRequestHeaders</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the default request headers sub-builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new default request headers sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultResponseHeaders()">
<h3>defaultResponseHeaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2933">defaultResponseHeaders</a></span>()</div>
<div class="block">Returns the default response headers.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The default response headers.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultResponseHeaders(org.apache.http.Header...)">
<h3>defaultResponseHeaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-2990">defaultResponseHeaders</a></span><wbr><span class="parameters">(<a href="https://hc.apache.org/httpcomponents-core-4.4.x/current/httpcore/apidocs/org/apache/http/Header.html" title="class or interface in org.apache.http" class="external-link">Header</a>...&nbsp;values)</span></div>
<div class="block">Default response headers.
<p>
Specifies default values for response headers if they're not set after the Java REST method is called.
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
This is equivalent to calling <a href="RestResponse.html#setHeader(java.lang.String,java.lang.String)"><code>RestResponse.setHeader(String, String)</code></a> programmatically in each of
the Java methods.
<li class='note'>
The header value will not be set if the header value has already been specified (hence the 'default' in the name).
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(defaultResponseHeaders={<js>"Content-Type: $C{REST/defaultContentType,text/plain}"</js>,<js>"My-Header: $C{REST/myHeaderValue}"</js>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>
.defaultResponseHeaders(
ContentType.<jsm>of</jsm>(<js>"text/plain"</js>),
BasicHeader.<jsm>ofPair</jsm>(<js>"My-Header: foo"</js>)
);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.defaultResponseHeaders(ContentType.<jsm>of</jsm>(<js>"text/plain"</js>));
}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#defaultResponseHeaders()"><code>Rest.defaultResponseHeaders()</code></a>
<li class='ja'><a href="annotation/RestOp.html#defaultResponseHeaders()"><code>RestOp.defaultResponseHeaders()</code></a>
<li class='ja'><a href="annotation/RestGet.html#defaultResponseHeaders()"><code>RestGet.defaultResponseHeaders()</code></a>
<li class='ja'><a href="annotation/RestPut.html#defaultResponseHeaders()"><code>RestPut.defaultResponseHeaders()</code></a>
<li class='ja'><a href="annotation/RestPost.html#defaultResponseHeaders()"><code>RestPost.defaultResponseHeaders()</code></a>
<li class='ja'><a href="annotation/RestDelete.html#defaultResponseHeaders()"><code>RestDelete.defaultResponseHeaders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The headers to add.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createDefaultResponseHeaders(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createDefaultResponseHeaders</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../http/header/HeaderList.html" title="class in org.apache.juneau.http.header">HeaderList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3005">createDefaultResponseHeaders</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the default response headers sub-builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new default response headers sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultRequestAttributes()">
<h3>defaultRequestAttributes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="httppart/NamedAttributeMap.html" title="class in org.apache.juneau.rest.httppart">NamedAttributeMap</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3036">defaultRequestAttributes</a></span>()</div>
<div class="block">Returns the default request attributes sub-builder.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The default request attributes sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultRequestAttributes(org.apache.juneau.rest.httppart.NamedAttribute...)">
<h3>defaultRequestAttributes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3090">defaultRequestAttributes</a></span><wbr><span class="parameters">(<a href="httppart/NamedAttribute.html" title="interface in org.apache.juneau.rest.httppart">NamedAttribute</a>...&nbsp;values)</span></div>
<div class="block">Default request attributes.
<p>
Specifies default values for request attributes if they're not already set on the request.
Affects values returned by the following methods:
<ul>
<li class='jm'><a href="RestRequest.html#getAttribute(java.lang.String)"><code>RestRequest.getAttribute(String)</code></a>.
<li class='jm'><a href="RestRequest.html#getAttributes()"><code>RestRequest.getAttributes()</code></a>.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(defaultRequestAttributes={<js>"Foo=bar"</js>, <js>"Baz: $C{REST/myAttributeValue}"</js>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>
.defaultRequestAttributes(
BasicNamedAttribute.<jsm>of</jsm>(<js>"Foo"</js>, <js>"bar"</js>),
BasicNamedAttribute.<jsm>of</jsm>(<js>"Baz"</js>, <jk>true</jk>)
);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.defaultRequestAttribute(<js>"Foo"</js>, <js>"bar"</js>);
}
<jc>// Override at the method level.</jc>
<ja>@RestGet</ja>(defaultRequestAttributes={<js>"Foo: bar"</js>})
<jk>public</jk> Object myMethod() {...}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>Use <a href="httppart/BasicNamedAttribute.html#of(java.lang.String,java.util.function.Supplier)"><code>BasicNamedAttribute.of(String, Supplier)</code></a> to provide a dynamically changeable attribute value.
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The attributes.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createDefaultRequestAttributes(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createDefaultRequestAttributes</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="httppart/NamedAttributeMap.html" title="class in org.apache.juneau.rest.httppart">NamedAttributeMap</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3105">createDefaultRequestAttributes</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the default request attributes sub-builder.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new default request attributes sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restOpArgs()">
<h3>restOpArgs</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="arg/RestOpArgList.Builder.html" title="class in org.apache.juneau.rest.arg">RestOpArgList.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3135">restOpArgs</a></span>()</div>
<div class="block">Returns the REST operation args sub-builder.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The REST operation args sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restOpArgs(java.lang.Class...)">
<h3>restOpArgs</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html" title="class or interface in java.lang" class="external-link">@SafeVarargs</a>
</span><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3153">restOpArgs</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="arg/RestOpArg.html" title="interface in org.apache.juneau.rest.arg">RestOpArg</a>&gt;...&nbsp;value)</span></div>
<div class="block">Adds one or more REST operation args to this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.restOpArgs().add(<jv>value</jv>);
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createRestOpArgs(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createRestOpArgs</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="arg/RestOpArgList.Builder.html" title="class in org.apache.juneau.rest.arg">RestOpArgList.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3182">createRestOpArgs</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the REST operation args sub-builder.
<p>
Instantiates based on the following logic:
<ul>
<li>Looks for REST op args set via any of the following:
<ul>
<li><a href="#restOpArgs(java.lang.Class...)"><code>restOpArgs(Class...)</code></a>/<a href="#restOpArgs(java.lang.Class...)"><code>restOpArgs(Class...)</code></a>
<li><a href="annotation/Rest.html#restOpArgs()"><code>Rest.restOpArgs()</code></a>.
</ul>
<li>Looks for a static or non-static <c>createRestParams()</c> method that returns <c><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link"><code>Class</code></a>[]</c>.
<li>Resolves it via the bean store registered in this context.
<li>Instantiates a default set of parameters.
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new REST operation args sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debugEnablement()">
<h3>debugEnablement</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3251">debugEnablement</a></span>()</div>
<div class="block">Returns the debug enablement bean creator.
<p>
Enables the following:
<ul class='spaced-list'>
<li>
HTTP request/response bodies are cached in memory for logging purposes.
<li>
Request/response messages are automatically logged always or per request.
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The debug enablement sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debugEnablement(java.lang.Class)">
<h3>debugEnablement</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3263">debugEnablement</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the debug enablement class to use for this REST context.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debugEnablement(org.apache.juneau.rest.debug.DebugEnablement)">
<h3>debugEnablement</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3274">debugEnablement</a></span><wbr><span class="parameters">(<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&nbsp;value)</span></div>
<div class="block">Specifies the debug enablement class to use for this REST context.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debugDefault(org.apache.juneau.Enablement)">
<h3>debugDefault</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3288">debugDefault</a></span><wbr><span class="parameters">(<a href="../Enablement.html" title="enum in org.apache.juneau">Enablement</a>&nbsp;value)</span></div>
<div class="block">Sets the debug default value.
<p>
The default debug value is the enablement value if not otherwise overridden at the class or method level.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The debug default value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createDebugEnablement(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createDebugEnablement</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="debug/DebugEnablement.html" title="class in org.apache.juneau.rest.debug">DebugEnablement</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3303">createDebugEnablement</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the debug enablement bean creator.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new debug enablement bean creator.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="startCallMethods()">
<h3>startCallMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3334">startCallMethods</a></span>()</div>
<div class="block">Returns the start call method list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The start call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createStartCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createStartCallMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3349">createStartCallMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the start call method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new start call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="endCallMethods()">
<h3>endCallMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3375">endCallMethods</a></span>()</div>
<div class="block">Returns the end call method list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The end call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createEndCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createEndCallMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3390">createEndCallMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the end call method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new end call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="postInitMethods()">
<h3>postInitMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3416">postInitMethods</a></span>()</div>
<div class="block">Returns the post-init method list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The post-init method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPostInitMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPostInitMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3431">createPostInitMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the post-init method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new post-init method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="postInitChildFirstMethods()">
<h3>postInitChildFirstMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3457">postInitChildFirstMethods</a></span>()</div>
<div class="block">Returns the post-init-child-first method list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The post-init-child-first method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPostInitChildFirstMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPostInitChildFirstMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3472">createPostInitChildFirstMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the post-init-child-first method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new post-init-child-first method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="destroyMethods()">
<h3>destroyMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3498">destroyMethods</a></span>()</div>
<div class="block">Returns the destroy method list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The destroy method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createDestroyMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createDestroyMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3513">createDestroyMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the destroy method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new destroy method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="preCallMethods()">
<h3>preCallMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3542">preCallMethods</a></span>()</div>
<div class="block">Returns the pre-call method list.
<p>
The list of methods that gets called immediately before the <ja>@RestOp</ja> annotated method gets called.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The pre-call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPreCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPreCallMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3557">createPreCallMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the pre-call method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new pre-call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="postCallMethods()">
<h3>postCallMethods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3586">postCallMethods</a></span>()</div>
<div class="block">Returns the post-call method list.
<p>
The list of methods that gets called immediately after the <ja>@RestOp</ja> annotated method gets called..</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The list of methods that gets called immediately after the <ja>@RestOp</ja> annotated method gets called..</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createPostCallMethods(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createPostCallMethods</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/MethodList.html" title="class in org.apache.juneau.cp">MethodList</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3601">createPostCallMethods</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the post-call method list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new post-call method list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restOperations(org.apache.juneau.rest.RestContext)">
<h3>restOperations</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestOperations.Builder.html" title="class in org.apache.juneau.rest">RestOperations.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3629">restOperations</a></span><wbr><span class="parameters">(<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</span>
throws <span class="exceptions">jakarta.servlet.ServletException</span></div>
<div class="block">Returns the REST operations list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>restContext</code> - The rest context.</dd>
<dt>Returns:</dt>
<dd>The REST operations list.</dd>
<dt>Throws:</dt>
<dd><code>jakarta.servlet.ServletException</code> - If a problem occurred instantiating one of the child rest contexts.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createRestOperations(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)">
<h3>createRestOperations</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="RestOperations.Builder.html" title="class in org.apache.juneau.rest">RestOperations.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3649">createRestOperations</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</span>
throws <span class="exceptions">jakarta.servlet.ServletException</span></div>
<div class="block">Instantiates the REST operations list.
<p>
The set of <a href="RestOpContext.html" title="class in org.apache.juneau.rest"><code>RestOpContext</code></a> objects that represent the methods on this resource.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>restContext</code> - The rest context.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new REST operations list.</dd>
<dt>Throws:</dt>
<dd><code>jakarta.servlet.ServletException</code> - If a problem occurred instantiating one of the child rest contexts.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restChildren(org.apache.juneau.rest.RestContext)">
<h3>restChildren</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestChildren.Builder.html" title="class in org.apache.juneau.rest">RestChildren.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3748">restChildren</a></span><wbr><span class="parameters">(<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">Returns the REST children list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>restContext</code> - The rest context.</dd>
<dt>Returns:</dt>
<dd>The REST children list.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - If a problem occurred instantiating one of the child rest contexts.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createRestChildren(org.apache.juneau.cp.BeanStore,java.util.function.Supplier,org.apache.juneau.rest.RestContext)">
<h3>createRestChildren</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="RestChildren.Builder.html" title="class in org.apache.juneau.rest">RestChildren.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3765">createRestChildren</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource,
<a href="RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;restContext)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">Instantiates the REST children list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>restContext</code> - The rest context.</dd>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new REST children list.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - If a problem occurred instantiating one of the child rest contexts.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="swaggerProvider()">
<h3>swaggerProvider</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3839">swaggerProvider</a></span>()</div>
<div class="block">Returns the swagger provider sub-builder.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The swagger provider sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="swaggerProvider(java.lang.Class)">
<h3>swaggerProvider</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3857">swaggerProvider</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;&nbsp;value)</span></div>
<div class="block">Specifies the swagger provider for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.swaggerProvider().type(<jv>value</jv>);
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="swaggerProvider(org.apache.juneau.rest.swagger.SwaggerProvider)">
<h3>swaggerProvider</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3874">swaggerProvider</a></span><wbr><span class="parameters">(<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&nbsp;value)</span></div>
<div class="block">Specifies the swagger provider for this class.
<p>
Equivalent to calling:
<p class='bjava'>
<jv>builder</jv>.swaggerProvider().impl(<jv>value</jv>);
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createSwaggerProvider(org.apache.juneau.cp.BeanStore,java.util.function.Supplier)">
<h3>createSwaggerProvider</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../cp/BeanCreator.html" title="class in org.apache.juneau.cp">BeanCreator</a>&lt;<a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger">SwaggerProvider</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3913">createSwaggerProvider</a></span><wbr><span class="parameters">(<a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp">BeanStore</a>&nbsp;beanStore,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html" title="class or interface in java.util.function" class="external-link">Supplier</a>&lt;?&gt;&nbsp;resource)</span></div>
<div class="block">Instantiates the swagger provider sub-builder.
<p>
Instantiates based on the following logic:
<ul>
<li>Returns the resource class itself is an instance of <a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger"><code>SwaggerProvider</code></a>.
<li>Looks for swagger provider set via any of the following:
<ul>
<li><a href="#swaggerProvider(java.lang.Class)"><code>swaggerProvider(Class)</code></a>/<a href="#swaggerProvider(org.apache.juneau.rest.swagger.SwaggerProvider)"><code>swaggerProvider(SwaggerProvider)</code></a>
<li><a href="annotation/Rest.html#swaggerProvider()"><code>Rest.swaggerProvider()</code></a>.
</ul>
<li>Looks for a static or non-static <c>createSwaggerProvider()</c> method that returns <a href="swagger/SwaggerProvider.html" title="interface in org.apache.juneau.rest.swagger"><code>SwaggerProvider</code></a> on the
resource class with any of the following arguments:
<ul>
<li><a href="RestContext.html" title="class in org.apache.juneau.rest"><code>RestContext</code></a>
<li><a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp"><code>BeanStore</code></a>
<li>Any <a class="doclink" href="../../../../index.html#juneau-rest-server-springboot">injected beans</a>.
</ul>
<li>Resolves it via the bean store registered in this context.
<li>Instantiates a default <a href="swagger/BasicSwaggerProvider.html" title="class in org.apache.juneau.rest.swagger"><code>BasicSwaggerProvider</code></a>.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='jm'><a href="#swaggerProvider(java.lang.Class)"><code>swaggerProvider(Class)</code></a>
<li class='jm'><a href="#swaggerProvider(org.apache.juneau.rest.swagger.SwaggerProvider)"><code>swaggerProvider(SwaggerProvider)</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>beanStore</code> - The factory used for creating beans and retrieving injected beans.</dd>
<dd><code>resource</code> - The REST servlet/bean instance that this context is defined against.</dd>
<dt>Returns:</dt>
<dd>A new swagger provider sub-builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="allowedHeaderParams(java.lang.String)">
<h3>allowedHeaderParams</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-3977">allowedHeaderParams</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Allowed header URL parameters.
<p>
When specified, allows headers such as <js>"Accept"</js> and <js>"Content-Type"</js> to be passed in as URL query
parameters.
<br>
For example:
<p class='burlenc'>
?Accept=text/json&amp;Content-Type=text/json
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
Useful for debugging REST interface using only a browser so that you can quickly simulate header values
in the URL bar.
<li class='note'>
Header names are case-insensitive.
<li class='note'>
Use <js>"*"</js> to allow any headers to be specified as URL parameters.
<li class='note'>
Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#allowedHeaderParams()"><code>Rest.allowedHeaderParams()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.allowedHeaderParams"
<li>Environment variable <js>"RESTCONTEXT_ALLOWEDHEADERPARAMS"
<li><js>"Accept,Content-Type"</js>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="allowedMethodHeaders(java.lang.String)">
<h3>allowedMethodHeaders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4040">allowedMethodHeaders</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Allowed method headers.
<p>
A comma-delimited list of HTTP method names that are allowed to be passed as values in an <c>X-Method</c> HTTP header
to override the real HTTP method name.
<p>
Allows you to override the actual HTTP method with a simulated method.
<br>For example, if an HTTP Client API doesn't support <c>PATCH</c> but does support <c>POST</c> (because
<c>PATCH</c> is not part of the original HTTP spec), you can add a <c>X-Method: PATCH</c> header on a normal
<c>HTTP POST /foo</c> request call which will make the HTTP call look like a <c>PATCH</c> request in any of the REST APIs.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(allowedMethodHeaders=<js>"PATCH"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.allowedMethodHeaders(<js>"PATCH"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.allowedMethodHeaders(<js>"PATCH"</js>);
}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
Method names are case-insensitive.
<li class='note'>
Use <js>"*"</js> to represent all methods.
<li class='note'>
Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#allowedMethodHeaders()"><code>Rest.allowedMethodHeaders()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.allowedMethodHeaders"
<li>Environment variable <js>"RESTCONTEXT_ALLOWEDMETHODHEADERS"
<li><js>""</js>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="allowedMethodParams(java.lang.String)">
<h3>allowedMethodParams</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4113">allowedMethodParams</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Allowed method parameters.
<p>
When specified, the HTTP method can be overridden by passing in a <js>"method"</js> URL parameter on a regular
GET request.
<br>
For example:
<p class='burlenc'>
?method=OPTIONS
</p>
<p>
Useful in cases where you want to simulate a non-GET request in a browser by simply adding a parameter.
<br>Also useful if you want to construct hyperlinks to non-GET REST endpoints such as links to <c>OPTIONS</c>
pages.
<p>
Note that per the <a class="doclink" href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">HTTP specification</a>, special care should
be taken when allowing non-safe (<c>POST</c>, <c>PUT</c>, <c>DELETE</c>) methods to be invoked through GET requests.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(allowedMethodParams=<js>"HEAD,OPTIONS,PUT"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.allowedMethodParams(<js>"HEAD,OPTIONS,PUT"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder builder) <jk>throws</jk> Exception {
<jv>builder</jv>.allowedMethodParams(<js>"HEAD,OPTIONS,PUT"</js>);
}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
Format is a comma-delimited list of HTTP method names that can be passed in as a method parameter.
<li class='note'>
<js>'method'</js> parameter name is case-insensitive.
<li class='note'>
Use <js>"*"</js> to represent all methods.
<li class='note'>
Use <js>"NONE"</js> (case insensitive) to suppress inheriting a value from a parent class.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#allowedMethodParams()"><code>Rest.allowedMethodParams()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.allowedMethodParams"
<li>Environment variable <js>"RESTCONTEXT_ALLOWEDMETHODPARAMS"
<li><js>"HEAD,OPTIONS"</js>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clientVersionHeader(java.lang.String)">
<h3>clientVersionHeader</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4185">clientVersionHeader</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Client version header.
<p>
Specifies the name of the header used to denote the client version on HTTP requests.
<p>
The client version is used to support backwards compatibility for breaking REST interface changes.
<br>Used in conjunction with <a href="annotation/RestOp.html#clientVersion()"><code>@RestOp(clientVersion)</code></a> annotation.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(clientVersionHeader=<js>"$C{REST/clientVersionHeader,Client-Version}"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.clientVersionHeader(<js>"Client-Version"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.clientVersionHeader(<js>"Client-Version"</js>);
}
}
</p>
<p class='bjava'>
<jc>// Call this method if Client-Version is at least 2.0.
// Note that this also matches 2.0.1.</jc>
<ja>@RestGet</ja>(path=<js>"/foobar"</js>, clientVersion=<js>"2.0"</js>)
<jk>public</jk> Object method1() {
...
}
<jc>// Call this method if Client-Version is at least 1.1, but less than 2.0.</jc>
<ja>@RestGet</ja>(path=<js>"/foobar"</js>, clientVersion=<js>"[1.1,2.0)"</js>)
<jk>public</jk> Object method2() {
...
}
<jc>// Call this method if Client-Version is less than 1.1.</jc>
<ja>@RestGet</ja>(path=<js>"/foobar"</js>, clientVersion=<js>"[0,1.1)"</js>)
<jk>public</jk> Object method3() {
...
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#clientVersionHeader()"><code>Rest.clientVersionHeader()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.clientVersionHeader"
<li>Environment variable <js>"RESTCONTEXT_CLIENTVERSIONHEADER"
<li><js>"Client-Version"</js>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="defaultCharset(java.nio.charset.Charset)">
<h3>defaultCharset</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4237">defaultCharset</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html" title="class or interface in java.nio.charset" class="external-link">Charset</a>&nbsp;value)</span></div>
<div class="block">Default character encoding.
<p>
The default character encoding for the request and response if not specified on the request.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(defaultCharset=<js>"$C{REST/defaultCharset,US-ASCII}"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.defaultCharset(<js>"US-ASCII"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.defaultCharset(<js>"US-ASCII"</js>);
}
<jc>// Override at the method level.</jc>
<ja>@RestGet</ja>(defaultCharset=<js>"UTF-16"</js>)
<jk>public</jk> Object myMethod() {...}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#defaultCharset()"><code>Rest.defaultCharset()</code></a>
<li class='ja'><a href="annotation/RestOp.html#defaultCharset()"><code>RestOp.defaultCharset()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.defaultCharset"
<li>Environment variable <js>"RESTCONTEXT_defaultCharset"
<li><js>"utf-8"</js>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disableContentParam()">
<h3>disableContentParam</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4285">disableContentParam</a></span>()</div>
<div class="block">Disable content URL parameter.
<p>
When enabled, the HTTP content content on PUT and POST requests can be passed in as text using the <js>"content"</js>
URL parameter.
<br>
For example:
<p class='burlenc'>
?content=(name='John%20Smith',age=45)
</p>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(disableContentParam=<js>"$C{REST/disableContentParam,true}"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.disableContentParam();
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.disableContentParam();
}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
<js>'content'</js> parameter name is case-insensitive.
<li class='note'>
Useful for debugging PUT and POST methods using only a browser.
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disableContentParam(boolean)">
<h3>disableContentParam</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4299">disableContentParam</a></span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Disable content URL parameter.
<p>
Same as <a href="#disableContentParam()"><code>disableContentParam()</code></a> but allows you to set it as a boolean value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="maxInput(java.lang.String)">
<h3>maxInput</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4364">maxInput</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">The maximum allowed input size (in bytes) on HTTP requests.
<p>
Useful for alleviating DoS attacks by throwing an exception when too much input is received instead of resulting
in out-of-memory errors which could affect system stability.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(maxInput=<js>"$C{REST/maxInput,10M}"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.maxInput(<js>"10M"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.maxInput(<js>"10M"</js>);
}
<jc>// Override at the method level.</jc>
<ja>@RestPost</ja>(maxInput=<js>"10M"</js>)
<jk>public</jk> Object myMethod() {...}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
String value that gets resolved to a <jk>long</jk>.
<li class='note'>
Can be suffixed with any of the following representing kilobytes, megabytes, and gigabytes:
<js>'K'</js>, <js>'M'</js>, <js>'G'</js>.
<li class='note'>
A value of <js>"-1"</js> can be used to represent no limit.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#maxInput()"><code>Rest.maxInput()</code></a>
<li class='ja'><a href="annotation/RestOp.html#maxInput()"><code>RestOp.maxInput()</code></a>
<li class='jm'><a href="RestOpContext.Builder.html#maxInput(java.lang.String)"><code>RestOpContext.Builder.maxInput(String)</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.maxInput"
<li>Environment variable <js>"RESTCONTEXT_MAXINPUT"
<li><js>"100M"</js>
</ul>
<br>The default is <js>"100M"</js>.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="renderResponseStackTraces(boolean)">
<h3>renderResponseStackTraces</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4381">renderResponseStackTraces</a></span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Render response stack traces in responses.
<p>
Render stack traces in HTTP response bodies when errors occur.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is <jk>false</jk>.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="renderResponseStackTraces()">
<h3>renderResponseStackTraces</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4395">renderResponseStackTraces</a></span>()</div>
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Render response stack traces in responses.
<p>
Shortcut for calling <code>renderResponseStackTraces(<jk>true</jk>)</code>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="uriAuthority(java.lang.String)">
<h3>uriAuthority</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4466">uriAuthority</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Resource authority path.
<p>
Overrides the authority path value for this resource and any child resources.
<p>
This setting is useful if you want to resolve relative URIs to absolute paths and want to explicitly specify the hostname/port.
<p>
Affects the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestRequest.html#getAuthorityPath()"><code>RestRequest.getAuthorityPath()</code></a>
</ul>
<p>
If you do not specify the authority, it is automatically calculated via the following:
<p class='bjava'>
String <jv>scheme</jv> = <jv>request</jv>.getScheme();
<jk>int</jk> <jv>port</jv> = <jv>request</jv>.getServerPort();
StringBuilder <jv>sb</jv> = <jk>new</jk> StringBuilder(<jv>request</jv>.getScheme()).append(<js>"://"</js>).append(<jv>request</jv>.getServerName());
<jk>if</jk> (! (<jv>port</jv> == 80 &amp;&amp; <js>"http"</js>.equals(<jv>scheme</jv>) || port == 443 &amp;&amp; <js>"https"</js>.equals(<jv>scheme</jv>)))
<jv>sb</jv>.append(<js>':'</js>).append(<jv>port</jv>);
<jv>authorityPath</jv> = <jv>sb</jv>.toString();
</p>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(
path=<js>"/servlet"</js>,
uriAuthority=<js>"$C{REST/authorityPathOverride,http://localhost:10000}"</js>
)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.uriAuthority(<js>"http://localhost:10000"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.uriAuthority(<js>"http://localhost:10000"</js>);
}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#uriAuthority()"><code>Rest.uriAuthority()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.uriAuthority"
<li>Environment variable <js>"RESTCONTEXT_URIAUTHORITY"
<li><jk>null</jk>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="uriContext(java.lang.String)">
<h3>uriContext</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4527">uriContext</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Resource context path.
<p>
Overrides the context path value for this resource and any child resources.
<p>
This setting is useful if you want to use <js>"context:/child/path"</js> URLs in child resource POJOs but
the context path is not actually specified on the servlet container.
<p>
Affects the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestRequest.html#getContextPath()"><code>RestRequest.getContextPath()</code></a> - Returns the overridden context path for the resource.
<li class='jm'><a href="RestRequest.html#getServletPath()"><code>RestRequest.getServletPath()</code></a> - Includes the overridden context path for the resource.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(
path=<js>"/servlet"</js>,
uriContext=<js>"$C{REST/contextPathOverride,/foo}"</js>
)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.uriContext(<js>"/foo"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.uriContext(<js>"/foo"</js>);
}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#uriContext()"><code>Rest.uriContext()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.uriContext"
<li>Environment variable <js>"RESTCONTEXT_URICONTEXT"
<li><jk>null</jk>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="uriRelativity(org.apache.juneau.UriRelativity)">
<h3>uriRelativity</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4586">uriRelativity</a></span><wbr><span class="parameters">(<a href="../UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</span></div>
<div class="block">URI resolution relativity.
<p>
Specifies how relative URIs should be interpreted by serializers.
<p>
See <a href="../UriResolution.html" title="enum in org.apache.juneau"><code>UriResolution</code></a> for possible values.
<p>
Affects the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestRequest.html#getUriResolver()"><code>RestRequest.getUriResolver()</code></a>
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(
path=<js>"/servlet"</js>,
uriRelativity=<js>"$C{REST/uriRelativity,PATH_INFO}"</js>
)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.uriRelativity(<jsf>PATH_INFO</jsf>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.uriRelativity(<jsf>PATH_INFO</jsf>);
}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#uriRelativity()"><code>Rest.uriRelativity()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.uriRelativity"
<li>Environment variable <js>"RESTCONTEXT_URIRELATIVITY"
<li><a href="../UriRelativity.html#RESOURCE"><code>UriRelativity.RESOURCE</code></a>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="uriResolution(org.apache.juneau.UriResolution)">
<h3>uriResolution</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4645">uriResolution</a></span><wbr><span class="parameters">(<a href="../UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</span></div>
<div class="block">URI resolution.
<p>
Specifies how relative URIs should be interpreted by serializers.
<p>
See <a href="../UriResolution.html" title="enum in org.apache.juneau"><code>UriResolution</code></a> for possible values.
<p>
Affects the following methods:
<ul class='javatree'>
<li class='jm'><a href="RestRequest.html#getUriResolver()"><code>RestRequest.getUriResolver()</code></a>
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(
path=<js>"/servlet"</js>,
uriResolution=<js>"$C{REST/uriResolution,ABSOLUTE}"</js>
)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.uriResolution(<jsf>ABSOLUTE</jsf>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.uriResolution(<jsf>ABSOLUTE</jsf>);
}
}
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#uriResolution()"><code>Rest.uriResolution()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is the first value found:
<ul>
<li>System property <js>"RestContext.uriResolution"
<li>Environment variable <js>"RESTCONTEXT_URIRESOLUTION"
<li><a href="../UriResolution.html#ROOT_RELATIVE"><code>UriResolution.ROOT_RELATIVE</code></a>
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSerializers()">
<h3>getSerializers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../serializer/SerializerSet.Builder.html" title="class in org.apache.juneau.serializer">SerializerSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4677">getSerializers</a></span>()</div>
<div class="block">Returns the serializer group builder containing the serializers for marshalling POJOs into response bodies.
<p>
Serializer are used to convert POJOs to HTTP response bodies.
<br>Any of the Juneau framework serializers can be used in this setting.
<br>The serializer selected is based on the request <c>Accept</c> header matched against the values returned by the following method
using a best-match algorithm:
<ul class='javatree'>
<li class='jm'><a href="../serializer/Serializer.html#getMediaTypeRanges()"><code>Serializer.getMediaTypeRanges()</code></a>
</ul>
<p>
The builder is initialized with serializers defined via the <a href="annotation/Rest.html#serializers()"><code>Rest.serializers()</code></a> annotation. That annotation is applied
from parent-to-child order with child entries given priority over parent entries.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The serializer group builder for this context builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getParsers()">
<h3>getParsers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../parser/ParserSet.Builder.html" title="class in org.apache.juneau.parser">ParserSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4703">getParsers</a></span>()</div>
<div class="block">Returns the parser group builder containing the parsers for converting HTTP request bodies into POJOs.
<p>
Parsers are used to convert the content of HTTP requests into POJOs.
<br>Any of the Juneau framework parsers can be used in this setting.
<br>The parser selected is based on the request <c>Content-Type</c> header matched against the values returned by the following method
using a best-match algorithm:
<ul class='javatree'>
<li class='jm'><a href="../parser/Parser.html#getMediaTypes()"><code>Parser.getMediaTypes()</code></a>
</ul>
<p>
The builder is initialized with parsers defined via the <a href="annotation/Rest.html#parsers()"><code>Rest.parsers()</code></a> annotation. That annotation is applied
from parent-to-child order with child entries given priority over parent entries.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Marshalling">Marshalling</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The parser group builder for this context builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEncoders()">
<h3>getEncoders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../encoders/EncoderSet.Builder.html" title="class in org.apache.juneau.encoders">EncoderSet.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4723">getEncoders</a></span>()</div>
<div class="block">Returns the encoder group builder containing the encoders for compressing/decompressing input and output streams.
<p>
These can be used to enable various kinds of compression (e.g. <js>"gzip"</js>) on requests and responses.
<p>
The builder is initialized with encoders defined via the <a href="annotation/Rest.html#encoders()"><code>Rest.encoders()</code></a> annotation. That annotation is applied
from parent-to-child order with child entries given priority over parent entries.
<h5 class='section'>See Also:</h5><ul>
<li class='link'><a class="doclink" href="../../../../index.html#jrs.Encoders">Encoders</a>
</ul></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The encoder group builder for this context builder.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="children(java.lang.Object...)">
<h3>children</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4829">children</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;values)</span></div>
<div class="block">Child REST resources.
<p>
Defines children of this resource.
<p>
A REST child resource is simply another servlet or object that is initialized as part of the ascendant resource and has a
servlet path directly under the ascendant resource object path.
<br>The main advantage to defining servlets as REST children is that you do not need to define them in the
<c>web.xml</c> file of the web application.
<br>This can cut down on the number of entries that show up in the <c>web.xml</c> file if you are defining
large numbers of servlets.
<p>
Child resources must specify a value for <a href="annotation/Rest.html#path()"><code>@Rest(path)</code></a> that identifies the subpath of the child resource
relative to the ascendant path UNLESS you use the <a href="#child(java.lang.String,java.lang.Object)"><code>child(String, Object)</code></a> method to register it.
<p>
Child resources can be nested arbitrarily deep using this technique (i.e. children can also have children).
<dl>
<dt>Servlet initialization:</dt>
<dd>
<p>
A child resource will be initialized immediately after the ascendant servlet/resource is initialized.
<br>The child resource receives the same servlet config as the ascendant servlet/resource.
<br>This allows configuration information such as servlet initialization parameters to filter to child
resources.
</p>
</dd>
<dt>Runtime behavior:</dt>
<dd>
<p>
As a rule, methods defined on the <c>HttpServletRequest</c> object will behave as if the child
servlet were deployed as a top-level resource under the child's servlet path.
<br>For example, the <c>getServletPath()</c> and <c>getPathInfo()</c> methods on the
<c>HttpServletRequest</c> object will behave as if the child resource were deployed using the
child's servlet path.
<br>Therefore, the runtime behavior should be equivalent to deploying the child servlet in the
<c>web.xml</c> file of the web application.
</p>
</dd>
</dl>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our child resource.</jc>
<ja>@Rest</ja>(path=<js>"/child"</js>)
<jk>public class</jk> MyChildResource {...}
<jc>// Option #1 - Registered via annotation.</jc>
<ja>@Rest</ja>(children={MyChildResource.<jk>class</jk>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Registered via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.children(MyChildResource.<jk>class</jk>);
<jc>// Use a pre-instantiated object instead.</jc>
<jv>builder</jv>.child(<js>"/child"</js>, <jk>new</jk> MyChildResource());
}
<jc>// Option #3 - Registered via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.children(MyChildResource.<jk>class</jk>);
}
}
</p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
When defined as classes, instances are resolved using the registered bean store which
by default is <a href="../cp/BeanStore.html" title="class in org.apache.juneau.cp"><code>BeanStore</code></a> which requires the class have one of the following
constructors:
<ul>
<li><code><jk>public</jk> T(RestContext.Builder)</code>
<li><code><jk>public</jk> T()</code>
</ul>
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#children()"><code>Rest.children()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The values to add to this setting.
<br>Objects can be any of the specified types:
<ul>
<li>A class that has a constructor described above.
<li>An instantiated resource object (such as a servlet object instantiated by a servlet container).
<li>An instance of <a href="RestChild.html" title="class in org.apache.juneau.rest"><code>RestChild</code></a> containing an instantiated resource object and a subpath.
</ul></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="child(java.lang.String,java.lang.Object)">
<h3>child</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4848">child</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;path,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;child)</span></div>
<div class="block">Add a child REST resource.
<p>
Shortcut for adding a single child to this resource.
<p>
This can be used for resources that don't have a <a href="annotation/Rest.html#path()"><code>@Rest(path)</code></a> annotation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>path</code> - The child path relative to the parent resource URI.</dd>
<dd><code>child</code> - The child to add to this resource.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parserListener(java.lang.Class)">
<h3>parserListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4867">parserListener</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;&nbsp;value)</span></div>
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Parser listener.
<p>
Specifies the parser listener class to use for listening to non-fatal parsing errors.
<h5 class='section'>See Also:</h5><ul>
<li class='jm'><a href="../parser/Parser.Builder.html#listener(java.lang.Class)"><code>Parser.Builder.listener(Class)</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="path(java.lang.String)">
<h3>path</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4930">path</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;value)</span></div>
<div class="block">Resource path.
<p>
Identifies the URL subpath relative to the parent resource.
<p>
This setting is critical for the routing of HTTP requests from ascendant to child resources.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(path=<js>"/myResource"</js>)
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.path(<js>"/myResource"</js>);
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.path(<js>"/myResource"</js>);
}
}
</p>
<p>
<h5 class='section'>Notes:</h5><ul>
<li class='note'>
This annotation is ignored on top-level servlets (i.e. servlets defined in <c>web.xml</c> files).
<br>Therefore, implementers can optionally specify a path value for documentation purposes.
<li class='note'>
Typically, this setting is only applicable to resources defined as children through the
<a href="annotation/Rest.html#children()"><code>@Rest(children)</code></a> annotation.
<br>However, it may be used in other ways (e.g. defining paths for top-level resources in microservices).
<li class='note'>
Slashes are trimmed from the path ends.
<br>As a convention, you may want to start your path with <js>'/'</js> simple because it make it easier to read.
<li class='note'>
This path is available through the following method:
<ul>
<li class='jm'><a href="RestContext.html#getPath()"><code>RestContext.getPath()</code></a>
</ul>
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#path()"><code>Rest.path()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restChildrenClass(java.lang.Class)">
<h3>restChildrenClass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-4989">restChildrenClass</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestChildren.html" title="class in org.apache.juneau.rest">RestChildren</a>&gt;&nbsp;value)</span></div>
<div class="block">REST children class.
<p>
Allows you to extend the <a href="RestChildren.html" title="class in org.apache.juneau.rest"><code>RestChildren</code></a> class to modify how any of the methods are implemented.
<p>
The subclass must have a public constructor that takes in any of the following arguments:
<ul>
<li><a href="RestChildren.Builder.html" title="class in org.apache.juneau.rest"><code>RestChildren.Builder</code></a> - The builder for the object.
<li>Any beans found in the specified bean store.
<li>Any <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link"><code>Optional</code></a> beans that may or may not be found in the specified bean store.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our extended context class</jc>
<jk>public</jk> MyRestChildren <jk>extends</jk> RestChildren {
<jk>public</jk> MyRestChildren(RestChildren.Builder <jv>builder</jv>, ARequiredSpringBean <jv>bean1</jv>, Optional&lt;AnOptionalSpringBean&gt; <jv>bean2</jv>) {
<jk>super</jk>(<jv>builder</jv>);
}
<jc>// Override any methods.</jc>
<ja>@Override</ja>
<jk>public</jk> Optional&lt;RestChildMatch&gt; findMatch(RestCall <jv>call</jv>) {
String <jv>path</jv> = <jv>call</jv>.getPathInfo();
<jk>if</jk> (<jv>path</jv>.endsWith(<js>"/foo"</js>)) {
<jc>// Do our own special handling.</jc>
}
<jk>return super</jk>.findMatch(<jv>call</jv>);
}
}
</p>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(restChildrenClass=MyRestChildren.<jk>class</jk>)
<jk>public class</jk> MyResource {
...
<jc>// Option #2 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.restChildrenClass(MyRestChildren.<jk>class</jk>);
}
}
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restOpContextClass(java.lang.Class)">
<h3>restOpContextClass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5054">restOpContextClass</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestOpContext.html" title="class in org.apache.juneau.rest">RestOpContext</a>&gt;&nbsp;value)</span></div>
<div class="block">REST operation context class.
<p>
Allows you to extend the <a href="RestOpContext.html" title="class in org.apache.juneau.rest"><code>RestOpContext</code></a> class to modify how any of the methods are implemented.
<p>
The subclass must have a public constructor that takes in any of the following arguments:
<ul>
<li><a href="RestOpContext.Builder.html" title="class in org.apache.juneau.rest"><code>RestOpContext.Builder</code></a> - The builder for the object.
<li>Any beans found in the specified bean store.
<li>Any <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link"><code>Optional</code></a> beans that may or may not be found in the specified bean store.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our extended context class that adds a request attribute to all requests.</jc>
<jc>// The attribute value is provided by an injected spring bean.</jc>
<jk>public</jk> MyRestOperationContext <jk>extends</jk> RestOpContext {
<jk>private final</jk> Optional&lt;? <jk>extends</jk> Supplier&lt;Object&gt;&gt; <jf>fooSupplier</jf>;
<jc>// Constructor that takes in builder and optional injected attribute provider.</jc>
<jk>public</jk> MyRestOperationContext(RestOpContext.Builder <jv>builder</jv>, Optional&lt;AnInjectedFooSupplier&gt; <jv>fooSupplier</jv>) {
<jk>super</jk>(<jv>builder</jv>);
<jk>this</jk>.<jf>fooSupplier</jf> = <jv>fooSupplier</jv>.orElseGet(()-&gt;<jk>null</jk>);
}
<jc>// Override the method used to create default request attributes.</jc>
<ja>@Override</ja>
<jk>protected</jk> NamedAttributeMap createDefaultRequestAttributes(Object <jv>resource</jv>, BeanStore <jv>beanStore</jv>, Method <jv>method</jv>, RestContext <jv>context</jv>) <jk>throws</jk> Exception {
<jk>return super</jk>
.createDefaultRequestAttributes(<jv>resource</jv>, <jv>beanStore</jv>, <jv>method</jv>, <jv>context</jv>)
.append(NamedAttribute.<jsm>of</jsm>(<js>"foo"</js>, ()-&gt;<jf>fooSupplier</jf>.get());
}
}
</p>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(restOpContextClass=MyRestOperationContext.<jk>class</jk>)
<jk>public class</jk> MyResource {
...
<jc>// Option #2 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.methodContextClass(MyRestOperationContext.<jk>class</jk>);
}
<ja>@RestGet</ja>
<jk>public</jk> Object foo(RequestAttributes <jv>attributes</jv>) {
<jk>return</jk> <jv>attributes</jv>.get(<js>"foo"</js>);
}
}
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="restOperationsClass(java.lang.Class)">
<h3>restOperationsClass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5111">restOperationsClass</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="RestOperations.html" title="class in org.apache.juneau.rest">RestOperations</a>&gt;&nbsp;value)</span></div>
<div class="block">REST operations class.
<p>
Allows you to extend the <a href="RestOperations.html" title="class in org.apache.juneau.rest"><code>RestOperations</code></a> class to modify how any of the methods are implemented.
<p>
The subclass must have a public constructor that takes in any of the following arguments:
<ul>
<li><a href="RestOperations.Builder.html" title="class in org.apache.juneau.rest"><code>RestOperations.Builder</code></a> - The builder for the object.
<li>Any beans found in the specified bean store.
<li>Any <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link"><code>Optional</code></a> beans that may or may not be found in the specified bean store.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Our extended context class</jc>
<jk>public</jk> MyRestOperations <jk>extends</jk> RestOperations {
<jk>public</jk> MyRestOperations(RestOperations.Builder <jv>builder</jv>, ARequiredSpringBean <jv>bean1</jv>, Optional&lt;AnOptionalSpringBean&gt; <jv>bean2</jv>) {
<jk>super</jk>(<jv>builder</jv>);
}
<jc>// Override any methods.</jc>
<ja>@Override</ja>
<jk>public</jk> RestOpContext findMethod(RestCall <jv>call</jv>) <jk>throws</jk> MethodNotAllowed, PreconditionFailed, NotFound {
String <jv>path</jv> = <jv>call</jv>.getPathInfo();
<jk>if</jk> (<jv>path</jv>.endsWith(<js>"/foo"</js>)) {
<jc>// Do our own special handling.</jc>
}
<jk>return super</jk>.findMethod(<jv>call</jv>);
}
}
</p>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation.</jc>
<ja>@Rest</ja>(restMethodsClass=MyRestOperations.<jk>class</jk>)
<jk>public class</jk> MyResource {
...
<jc>// Option #2 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.restMethodsClass(MyRestOperations.<jk>class</jk>);
}
}
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="serializerListener(java.lang.Class)">
<h3>serializerListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5130">serializerListener</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;value)</span></div>
<div class="block"><i><l>RestContext</l> configuration property:&emsp;</i> Serializer listener.
<p>
Specifies the serializer listener class to use for listening to non-fatal serialization errors.
<h5 class='section'>See Also:</h5><ul>
<li class='jm'><a href="../serializer/Serializer.Builder.html#listener(java.lang.Class)"><code>Serializer.Builder.listener(Class)</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The new value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="produces(org.apache.juneau.MediaType...)">
<h3>produces</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5184">produces</a></span><wbr><span class="parameters">(<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>...&nbsp;values)</span></div>
<div class="block">Supported accept media types.
<p>
Overrides the media types inferred from the serializers that identify what media types can be produced by the resource.
<br>An example where this might be useful if you have serializers registered that handle media types that you
don't want exposed in the Swagger documentation.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(produces={<js>"$C{REST/supportedProduces,application/json}"</js>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.produces(<jk>false</jk>, <js>"application/json"</js>)
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.produces(<jk>false</jk>, <js>"application/json"</js>);
}
}
</p>
<p>
This affects the returned values from the following:
<ul class='javatree'>
<li class='jm'><a href="RestContext.html#getProduces()"><code>RestContext.getProduces()</code></a>
<li class='jm'><a href="swagger/SwaggerProvider.html#getSwagger(org.apache.juneau.rest.RestContext,java.util.Locale)"><code>SwaggerProvider.getSwagger(RestContext,Locale)</code></a> - Affects produces field.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#produces()"><code>Rest.produces()</code></a>
<li class='ja'><a href="annotation/RestOp.html#produces()"><code>RestOp.produces()</code></a>
<li class='ja'><a href="annotation/RestGet.html#produces()"><code>RestGet.produces()</code></a>
<li class='ja'><a href="annotation/RestPut.html#produces()"><code>RestPut.produces()</code></a>
<li class='ja'><a href="annotation/RestPost.html#produces()"><code>RestPost.produces()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The values to add to this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="produces()">
<h3>produces</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>&gt;&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5195">produces</a></span>()</div>
<div class="block">Returns the media types produced by this resource if it's manually specified.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The media types.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="consumes(org.apache.juneau.MediaType...)">
<h3>consumes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5244">consumes</a></span><wbr><span class="parameters">(<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>...&nbsp;values)</span></div>
<div class="block">Supported content media types.
<p>
Overrides the media types inferred from the parsers that identify what media types can be consumed by the resource.
<br>An example where this might be useful if you have parsers registered that handle media types that you
don't want exposed in the Swagger documentation.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
<ja>@Rest</ja>(consumes={<js>"$C{REST/supportedConsumes,application/json}"</js>})
<jk>public class</jk> MyResource {
<jc>// Option #2 - Defined via builder passed in through resource constructor.</jc>
<jk>public</jk> MyResource(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jc>// Using method on builder.</jc>
<jv>builder</jv>.consumes(<jk>false</jk>, <js>"application/json"</js>)
}
<jc>// Option #3 - Defined via builder passed in through init method.</jc>
<ja>@RestInit</ja>
<jk>public void</jk> init(RestContext.Builder <jv>builder</jv>) <jk>throws</jk> Exception {
<jv>builder</jv>.consumes(<jk>false</jk>, <js>"application/json"</js>);
}
}
</p>
<p>
This affects the returned values from the following:
<ul class='javatree'>
<li class='jm'><a href="RestContext.html#getConsumes()"><code>RestContext.getConsumes()</code></a>
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="annotation/Rest.html#consumes()"><code>Rest.consumes()</code></a>
<li class='ja'><a href="annotation/RestOp.html#consumes()"><code>RestOp.consumes()</code></a>
<li class='ja'><a href="annotation/RestPut.html#consumes()"><code>RestPut.consumes()</code></a>
<li class='ja'><a href="annotation/RestPost.html#consumes()"><code>RestPost.consumes()</code></a>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - The values to add to this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="consumes()">
<h3>consumes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../MediaType.html" title="class in org.apache.juneau">MediaType</a>&gt;&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5255">consumes</a></span>()</div>
<div class="block">Returns the media types consumed by this resource if it's manually specified.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The media types.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="annotations(java.lang.annotation.Annotation...)">
<h3>annotations</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5261">annotations</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation" class="external-link">Annotation</a>...&nbsp;values)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#annotations(java.lang.annotation.Annotation...)">Context.Builder</a></code></span></div>
<div class="block">Defines annotations to apply to specific classes and methods.
<p>
Allows you to dynamically apply Juneau annotations typically applied directly to classes and methods.
Useful in cases where you want to use the functionality of the annotation on beans and bean properties but
do not have access to the code to do so.
<p>
As a rule, any Juneau annotation with an <l>on()</l> method can be used with this setting.
<p>
The following example shows the equivalent methods for applying the <a href="../annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation:
<p class='bjava'>
<jc>// Class with explicit annotation.</jc>
<ja>@Bean</ja>(properties=<js>"street,city,state"</js>)
<jk>public class</jk> A {...}
<jc>// Class with annotation applied via @BeanConfig</jc>
<jk>public class</jk> B {...}
<jc>// Java REST method with @BeanConfig annotation.</jc>
<ja>@RestGet</ja>(...)
<ja>@Bean</ja>(on=<js>"B"</js>, properties=<js>"street,city,state"</js>)
<jk>public void</jk> doFoo() {...}
</p>
<p>
In general, the underlying framework uses this method when it finds dynamically applied annotations on
config annotations. However, concrete implementations of annotations are also provided that can be passed
directly into builder classes like so:
<p class='bjava'>
<jc>// Create a concrete @Bean annotation.</jc>
<ja>Bean</ja> <jv>annotation</jv> = BeanAnnotation.<jsm>create</jsm>(B.<jk>class</jk>).properties(<js>"street,city,state"</js>).build();
<jc>// Apply it to a serializer.</jc>
WriterSerializer <jv>serializer</jv> = JsonSerializer.<jsm>create</jsm>().annotations(<jv>annotation</jv>).build();
<jc>// Serialize a bean with the dynamically applied annotation.</jc>
String <jv>json</jv> = <jv>serializer</jv>.serialize(<jk>new</jk> B());
</p>
<p>
The following is the list of annotations builders provided that can be constructed
and passed into the builder class:
<ul class='javatreec'>
<li class='ja'><a href="../annotation/BeanAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanAnnotation</code></a>
<li class='ja'><a href="../annotation/BeancAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeancAnnotation</code></a>
<li class='ja'><a href="../annotation/BeanIgnoreAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanIgnoreAnnotation</code></a>
<li class='ja'><a href="../annotation/BeanpAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanpAnnotation</code></a>
<li class='ja'><a href="../annotation/ExampleAnnotation.html" title="class in org.apache.juneau.annotation"><code>ExampleAnnotation</code></a>
<li class='ja'><a href="../annotation/NamePropertyAnnotation.html" title="class in org.apache.juneau.annotation"><code>NamePropertyAnnotation</code></a>
<li class='ja'><a href="../annotation/ParentPropertyAnnotation.html" title="class in org.apache.juneau.annotation"><code>ParentPropertyAnnotation</code></a>
<li class='ja'><a href="../annotation/SwapAnnotation.html" title="class in org.apache.juneau.annotation"><code>SwapAnnotation</code></a>
<li class='ja'><a href="../annotation/UriAnnotation.html" title="class in org.apache.juneau.annotation"><code>UriAnnotation</code></a>
<li class='ja'><a href="../csv/annotation/CsvAnnotation.html" title="class in org.apache.juneau.csv.annotation"><code>CsvAnnotation</code></a>
<li class='ja'><a href="../html/annotation/HtmlAnnotation.html" title="class in org.apache.juneau.html.annotation"><code>HtmlAnnotation</code></a>
<li class='ja'><a href="../json/annotation/JsonAnnotation.html" title="class in org.apache.juneau.json.annotation"><code>JsonAnnotation</code></a>
<li class='ja'><a href="../annotation/SchemaAnnotation.html" title="class in org.apache.juneau.annotation"><code>SchemaAnnotation</code></a>
<li class='ja'><a href="../msgpack/annotation/MsgPackAnnotation.html" title="class in org.apache.juneau.msgpack.annotation"><code>MsgPackAnnotation</code></a>
<li class='ja'><a href="../oapi/annotation/OpenApiAnnotation.html" title="class in org.apache.juneau.oapi.annotation"><code>OpenApiAnnotation</code></a>
<li class='ja'><a href="../plaintext/annotation/PlainTextAnnotation.html" title="class in org.apache.juneau.plaintext.annotation"><code>PlainTextAnnotation</code></a>
<li class='ja'><a href="../soap/annotation/SoapXmlAnnotation.html" title="class in org.apache.juneau.soap.annotation"><code>SoapXmlAnnotation</code></a>
<li class='ja'><a href="../uon/annotation/UonAnnotation.html" title="class in org.apache.juneau.uon.annotation"><code>UonAnnotation</code></a>
<li class='ja'><a href="../urlencoding/annotation/UrlEncodingAnnotation.html" title="class in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingAnnotation</code></a>
<li class='ja'><a href="../xml/annotation/XmlAnnotation.html" title="class in org.apache.juneau.xml.annotation"><code>XmlAnnotation</code></a>
</ul>
<p>
The syntax for the <l>on()</l> pattern match parameter depends on whether it applies to a class, method, field, or constructor.
The valid pattern matches are:
<ul class='spaced-list'>
<li>Classes:
<ul>
<li>Fully qualified:
<ul>
<li><js>"com.foo.MyClass"</js>
</ul>
<li>Fully qualified inner class:
<ul>
<li><js>"com.foo.MyClass$Inner1$Inner2"</js>
</ul>
<li>Simple:
<ul>
<li><js>"MyClass"</js>
</ul>
<li>Simple inner:
<ul>
<li><js>"MyClass$Inner1$Inner2"</js>
<li><js>"Inner1$Inner2"</js>
<li><js>"Inner2"</js>
</ul>
</ul>
<li>Methods:
<ul>
<li>Fully qualified with args:
<ul>
<li><js>"com.foo.MyClass.myMethod(String,int)"</js>
<li><js>"com.foo.MyClass.myMethod(java.lang.String,int)"</js>
<li><js>"com.foo.MyClass.myMethod()"</js>
</ul>
<li>Fully qualified:
<ul>
<li><js>"com.foo.MyClass.myMethod"</js>
</ul>
<li>Simple with args:
<ul>
<li><js>"MyClass.myMethod(String,int)"</js>
<li><js>"MyClass.myMethod(java.lang.String,int)"</js>
<li><js>"MyClass.myMethod()"</js>
</ul>
<li>Simple:
<ul>
<li><js>"MyClass.myMethod"</js>
</ul>
<li>Simple inner class:
<ul>
<li><js>"MyClass$Inner1$Inner2.myMethod"</js>
<li><js>"Inner1$Inner2.myMethod"</js>
<li><js>"Inner2.myMethod"</js>
</ul>
</ul>
<li>Fields:
<ul>
<li>Fully qualified:
<ul>
<li><js>"com.foo.MyClass.myField"</js>
</ul>
<li>Simple:
<ul>
<li><js>"MyClass.myField"</js>
</ul>
<li>Simple inner class:
<ul>
<li><js>"MyClass$Inner1$Inner2.myField"</js>
<li><js>"Inner1$Inner2.myField"</js>
<li><js>"Inner2.myField"</js>
</ul>
</ul>
<li>Constructors:
<ul>
<li>Fully qualified with args:
<ul>
<li><js>"com.foo.MyClass(String,int)"</js>
<li><js>"com.foo.MyClass(java.lang.String,int)"</js>
<li><js>"com.foo.MyClass()"</js>
</ul>
<li>Simple with args:
<ul>
<li><js>"MyClass(String,int)"</js>
<li><js>"MyClass(java.lang.String,int)"</js>
<li><js>"MyClass()"</js>
</ul>
<li>Simple inner class:
<ul>
<li><js>"MyClass$Inner1$Inner2()"</js>
<li><js>"Inner1$Inner2()"</js>
<li><js>"Inner2()"</js>
</ul>
</ul>
<li>A comma-delimited list of anything on this list.
</ul>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="../annotation/BeanConfig.html" title="annotation in org.apache.juneau.annotation"><code>BeanConfig</code></a>
</ul></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#annotations(java.lang.annotation.Annotation...)">annotations</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>values</code> - The annotations to register with the context.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="apply(org.apache.juneau.AnnotationWorkList)">
<h3>apply</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5267">apply</a></span><wbr><span class="parameters">(<a href="../AnnotationWorkList.html" title="class in org.apache.juneau">AnnotationWorkList</a>&nbsp;work)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#apply(org.apache.juneau.AnnotationWorkList)">Context.Builder</a></code></span></div>
<div class="block">Applies a set of applied to this builder.
<p>
An <a href="../AnnotationWork.html" title="class in org.apache.juneau"><code>AnnotationWork</code></a> consists of a single pair of <a href="../reflect/AnnotationInfo.html" title="class in org.apache.juneau.reflect"><code>AnnotationInfo</code></a> that represents an annotation instance,
and <a href="../AnnotationApplier.html" title="class in org.apache.juneau"><code>AnnotationApplier</code></a> which represents the code used to apply the values in that annotation to a specific builder.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// A class annotated with a config annotation.</jc>
<ja>@BeanConfig</ja>(sortProperties=<js>"$S{sortProperties,false}"</js>)
<jk>public class</jk> MyClass {...}
<jc>// Find all annotations that themselves are annotated with @ContextPropertiesApply.</jc>
AnnotationList <jv>annotations</jv> = ClassInfo.<jsm>of</jsm>(MyClass.<jk>class</jk>).getAnnotationList(<jsf>CONTEXT_APPLY_FILTER</jsf>);
VarResolverSession <jv>vrs</jv> = VarResolver.<jsf>DEFAULT</jsf>.createSession();
AnnotationWorkList <jv>work</jv> = AnnotationWorkList.of(<jv>vrs</jv>, <jv>annotations</jv>);
<jc>// Apply any settings found on the annotations.</jc>
WriterSerializer <jv>serializer</jv> = JsonSerializer
.<jsm>create</jsm>()
.apply(<jv>work</jv>)
.build();
</p></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#apply(org.apache.juneau.AnnotationWorkList)">apply</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>work</code> - The list of annotations and appliers to apply to this builder.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="applyAnnotations(java.lang.Class...)">
<h3>applyAnnotations</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5273">applyAnnotations</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;...&nbsp;fromClasses)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#applyAnnotations(java.lang.Class...)">Context.Builder</a></code></span></div>
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified class to this context.
<p>
Any annotations found that themselves are annotated with <a href="../annotation/ContextApply.html" title="annotation in org.apache.juneau.annotation"><code>ContextApply</code></a> will be resolved and
applied as properties to this builder. These annotations include:
<ul class='javatreec'>
<li class='ja'><a href="../annotation/BeanConfig.html" title="annotation in org.apache.juneau.annotation"><code>BeanConfig</code></a>
<li class='ja'><a href="../csv/annotation/CsvConfig.html" title="annotation in org.apache.juneau.csv.annotation"><code>CsvConfig</code></a>
<li class='ja'><a href="../html/annotation/HtmlConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlConfig</code></a>
<li class='ja'><a href="../html/annotation/HtmlDocConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlDocConfig</code></a>
<li class='ja'><a href="../json/annotation/JsonConfig.html" title="annotation in org.apache.juneau.json.annotation"><code>JsonConfig</code></a>
<li class='ja'><a href="../jsonschema/annotation/JsonSchemaConfig.html" title="annotation in org.apache.juneau.jsonschema.annotation"><code>JsonSchemaConfig</code></a>
<li class='ja'><a href="../msgpack/annotation/MsgPackConfig.html" title="annotation in org.apache.juneau.msgpack.annotation"><code>MsgPackConfig</code></a>
<li class='ja'><a href="../oapi/annotation/OpenApiConfig.html" title="annotation in org.apache.juneau.oapi.annotation"><code>OpenApiConfig</code></a>
<li class='ja'><a href="../parser/annotation/ParserConfig.html" title="annotation in org.apache.juneau.parser.annotation"><code>ParserConfig</code></a>
<li class='ja'><a href="../plaintext/annotation/PlainTextConfig.html" title="annotation in org.apache.juneau.plaintext.annotation"><code>PlainTextConfig</code></a>
<li class='ja'><a href="../serializer/annotation/SerializerConfig.html" title="annotation in org.apache.juneau.serializer.annotation"><code>SerializerConfig</code></a>
<li class='ja'><a href="../soap/annotation/SoapXmlConfig.html" title="annotation in org.apache.juneau.soap.annotation"><code>SoapXmlConfig</code></a>
<li class='ja'><a href="../uon/annotation/UonConfig.html" title="annotation in org.apache.juneau.uon.annotation"><code>UonConfig</code></a>
<li class='ja'><a href="../urlencoding/annotation/UrlEncodingConfig.html" title="annotation in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingConfig</code></a>
<li class='ja'><a href="../xml/annotation/XmlConfig.html" title="annotation in org.apache.juneau.xml.annotation"><code>XmlConfig</code></a>
<li class='ja'><c>RdfConfig</c>
</ul>
<p>
Annotations on classes are appended in the following order:
<ol>
<li>On the package of this class.
<li>On interfaces ordered parent-to-child.
<li>On parent classes ordered parent-to-child.
<li>On this class.
</ol>
<p>
The default var resolver <a href="../svl/VarResolver.html#DEFAULT"><code>VarResolver.DEFAULT</code></a> is used to resolve any variables in annotation field values.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// A class annotated with a config annotation.</jc>
<ja>@BeanConfig</ja>(sortProperties=<js>"$S{sortProperties,false}"</js>)
<jk>public class</jk> MyClass {...}
<jc>// Apply any settings found on the annotations.</jc>
WriterSerializer <jv>serializer</jv> = JsonSerializer
.<jsm>create</jsm>()
.applyAnnotations(MyClass.<jk>class</jk>)
.build();
</p></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#applyAnnotations(java.lang.Class...)">applyAnnotations</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fromClasses</code> - The classes on which the annotations are defined.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="applyAnnotations(java.lang.reflect.Method...)">
<h3>applyAnnotations</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5279">applyAnnotations</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a>...&nbsp;fromMethods)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#applyAnnotations(java.lang.reflect.Method...)">Context.Builder</a></code></span></div>
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified method to this context.
<p>
Any annotations found that themselves are annotated with <a href="../annotation/ContextApply.html" title="annotation in org.apache.juneau.annotation"><code>ContextApply</code></a> will be resolved and
applied as properties to this builder. These annotations include:
<ul class='javatreec'>
<li class='ja'><a href="../annotation/BeanConfig.html" title="annotation in org.apache.juneau.annotation"><code>BeanConfig</code></a>
<li class='ja'><a href="../csv/annotation/CsvConfig.html" title="annotation in org.apache.juneau.csv.annotation"><code>CsvConfig</code></a>
<li class='ja'><a href="../html/annotation/HtmlConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlConfig</code></a>
<li class='ja'><a href="../html/annotation/HtmlDocConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlDocConfig</code></a>
<li class='ja'><a href="../json/annotation/JsonConfig.html" title="annotation in org.apache.juneau.json.annotation"><code>JsonConfig</code></a>
<li class='ja'><a href="../jsonschema/annotation/JsonSchemaConfig.html" title="annotation in org.apache.juneau.jsonschema.annotation"><code>JsonSchemaConfig</code></a>
<li class='ja'><a href="../msgpack/annotation/MsgPackConfig.html" title="annotation in org.apache.juneau.msgpack.annotation"><code>MsgPackConfig</code></a>
<li class='ja'><a href="../oapi/annotation/OpenApiConfig.html" title="annotation in org.apache.juneau.oapi.annotation"><code>OpenApiConfig</code></a>
<li class='ja'><a href="../parser/annotation/ParserConfig.html" title="annotation in org.apache.juneau.parser.annotation"><code>ParserConfig</code></a>
<li class='ja'><a href="../plaintext/annotation/PlainTextConfig.html" title="annotation in org.apache.juneau.plaintext.annotation"><code>PlainTextConfig</code></a>
<li class='ja'><a href="../serializer/annotation/SerializerConfig.html" title="annotation in org.apache.juneau.serializer.annotation"><code>SerializerConfig</code></a>
<li class='ja'><a href="../soap/annotation/SoapXmlConfig.html" title="annotation in org.apache.juneau.soap.annotation"><code>SoapXmlConfig</code></a>
<li class='ja'><a href="../uon/annotation/UonConfig.html" title="annotation in org.apache.juneau.uon.annotation"><code>UonConfig</code></a>
<li class='ja'><a href="../urlencoding/annotation/UrlEncodingConfig.html" title="annotation in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingConfig</code></a>
<li class='ja'><a href="../xml/annotation/XmlConfig.html" title="annotation in org.apache.juneau.xml.annotation"><code>XmlConfig</code></a>
<li class='ja'><c>RdfConfig</c>
</ul>
<p>
Annotations on methods are appended in the following order:
<ol>
<li>On the package of the method class.
<li>On interfaces ordered parent-to-child.
<li>On parent classes ordered parent-to-child.
<li>On the method class.
<li>On this method and matching methods ordered parent-to-child.
</ol>
<p>
The default var resolver <a href="../svl/VarResolver.html#DEFAULT"><code>VarResolver.DEFAULT</code></a> is used to resolve any variables in annotation field values.
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// A method annotated with a config annotation.</jc>
<jk>public class</jk> MyClass {
<ja>@BeanConfig</ja>(sortProperties=<js>"$S{sortProperties,false}"</js>)
<jk>public void</jk> myMethod() {...}
}
<jc>// Apply any settings found on the annotations.</jc>
WriterSerializer <jv>serializer</jv> = JsonSerializer
.<jsm>create</jsm>()
.applyAnnotations(MyClass.<jk>class</jk>.getMethod(<js>"myMethod"</js>))
.build();
</p></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#applyAnnotations(java.lang.reflect.Method...)">applyAnnotations</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fromMethods</code> - The methods on which the annotations are defined.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cache(org.apache.juneau.internal.Cache)">
<h3>cache</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5285">cache</a></span><wbr><span class="parameters">(<a href="../internal/Cache.html" title="class in org.apache.juneau.internal">Cache</a>&lt;<a href="../utils/HashKey.html" title="class in org.apache.juneau.utils">HashKey</a>,<wbr>? extends <a href="../Context.html" title="class in org.apache.juneau">Context</a>&gt;&nbsp;value)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#cache(org.apache.juneau.internal.Cache)">Context.Builder</a></code></span></div>
<div class="block">Specifies a cache to use for hashkey-based caching.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#cache(org.apache.juneau.internal.Cache)">cache</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The cache.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debug()">
<h3>debug</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5291">debug</a></span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#debug()">Context.Builder</a></code></span></div>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Debug mode.
<p>
Enables the following additional information during serialization:
<ul class='spaced-list'>
<li>
When bean getters throws exceptions, the exception includes the object stack information
in order to determine how that method was invoked.
<li>
Enables <a href="../BeanTraverseContext.Builder.html#detectRecursions()"><code>BeanTraverseContext.Builder.detectRecursions()</code></a>.
</ul>
<p>
Enables the following additional information during parsing:
<ul class='spaced-list'>
<li>
When bean setters throws exceptions, the exception includes the object stack information
in order to determine how that method was invoked.
</ul>
<h5 class='section'>Example:</h5>
<p class='bjava'>
<jc>// Create a serializer with debug enabled.</jc>
WriterSerializer <jv>serializer</jv> = JsonSerializer
.<jsm>create</jsm>()
.debug()
.build();
<jc>// Create a POJO model with a recursive loop.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>f</jf>;
}
MyBean <jv>bean</jv> = <jk>new</jk> MyBean();
<jv>bean</jv>.<jf>f</jf> = <jv>bean</jv>;
<jc>// Throws a SerializeException and not a StackOverflowError</jc>
String <jv>json</jv> = <jv>serializer</jv>.serialize(<jv>bean</jv>);
</p>
<h5 class='section'>See Also:</h5><ul>
<li class='ja'><a href="../annotation/BeanConfig.html#debug()"><code>BeanConfig.debug()</code></a>
<li class='jm'><a href="../ContextSession.Builder.html#debug(java.lang.Boolean)"><code>ContextSession.Builder.debug(Boolean)</code></a>
</ul></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#debug()">debug</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="debug(boolean)">
<h3>debug</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5297">debug</a></span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#debug(boolean)">Context.Builder</a></code></span></div>
<div class="block">Same as <a href="../Context.Builder.html#debug()"><code>Context.Builder.debug()</code></a> but allows you to explicitly specify the value.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#debug(boolean)">debug</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="impl(org.apache.juneau.Context)">
<h3>impl</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5303">impl</a></span><wbr><span class="parameters">(<a href="../Context.html" title="class in org.apache.juneau">Context</a>&nbsp;value)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#impl(org.apache.juneau.Context)">Context.Builder</a></code></span></div>
<div class="block">Specifies a pre-instantiated bean for the <a href="../Context.Builder.html#build()"><code>Context.Builder.build()</code></a> method to return.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#impl(org.apache.juneau.Context)">impl</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The value for this setting.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="type(java.lang.Class)">
<h3>type</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="RestContext.Builder.html" title="class in org.apache.juneau.rest">RestContext.Builder</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5309">type</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../Context.html" title="class in org.apache.juneau">Context</a>&gt;&nbsp;value)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from class:&nbsp;<code><a href="../Context.Builder.html#type(java.lang.Class)">Context.Builder</a></code></span></div>
<div class="block">Associates a context class with this builder.
<p>
This is the type of object that this builder creates when the <a href="../Context.Builder.html#build()"><code>Context.Builder.build()</code></a> method is called.
<p>
By default, it's the outer class of where the builder class is defined.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../Context.Builder.html#type(java.lang.Class)">type</a></code>&nbsp;in class&nbsp;<code><a href="../Context.Builder.html" title="class in org.apache.juneau">Context.Builder</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The context class that this builder should create.</dd>
<dt>Returns:</dt>
<dd>This object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInitParameter(java.lang.String)">
<h3>getInitParameter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5348">getInitParameter</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>getInitParameter</code>&nbsp;in interface&nbsp;<code>jakarta.servlet.ServletConfig</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInitParameterNames()">
<h3>getInitParameterNames</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html" title="class or interface in java.util" class="external-link">Enumeration</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5353">getInitParameterNames</a></span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>getInitParameterNames</code>&nbsp;in interface&nbsp;<code>jakarta.servlet.ServletConfig</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getServletContext()">
<h3>getServletContext</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">jakarta.servlet.ServletContext</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5358">getServletContext</a></span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>getServletContext</code>&nbsp;in interface&nbsp;<code>jakarta.servlet.ServletConfig</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getServletName()">
<h3>getServletName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/juneau/rest/RestContext.Builder.html#line-5363">getServletName</a></span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>getServletName</code>&nbsp;in interface&nbsp;<code>jakarta.servlet.ServletConfig</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2016&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>