blob: acdaf324d4102a5f8bb4b7e655c842a9187155bd [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JsonSerializerBuilder (Apache Juneau 8.1.4)</title>
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JsonSerializerBuilder (Apache Juneau 8.1.4)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":42,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":42,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/juneau/json/JsonSerializer.ReadableSafe.html" title="class in org.apache.juneau.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/juneau/json/JsonSerializerSession.html" title="class in org.apache.juneau.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/juneau/json/JsonSerializerBuilder.html" target="_top">Frames</a></li>
<li><a href="JsonSerializerBuilder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.juneau.json</div>
<h2 title="Class JsonSerializerBuilder" class="title">Class JsonSerializerBuilder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/juneau/ContextBuilder.html" title="class in org.apache.juneau">org.apache.juneau.ContextBuilder</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/juneau/BeanContextBuilder.html" title="class in org.apache.juneau">org.apache.juneau.BeanContextBuilder</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html" title="class in org.apache.juneau">org.apache.juneau.BeanTraverseBuilder</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html" title="class in org.apache.juneau.serializer">org.apache.juneau.serializer.SerializerBuilder</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">org.apache.juneau.serializer.WriterSerializerBuilder</a></li>
<li>
<ul class="inheritance">
<li>org.apache.juneau.json.JsonSerializerBuilder</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/juneau/json/JsonSchemaSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSchemaSerializerBuilder</a>, <a href="../../../../org/apache/juneau/json/SimpleJsonSerializerBuilder.html" title="class in org.apache.juneau.json">SimpleJsonSerializerBuilder</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.32">JsonSerializerBuilder</a>
extends <a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></pre>
<div class="block">Builder class for building instances of JSON serializers.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#JsonSerializerBuilder--">JsonSerializerBuilder</a></span>()</code>
<div class="block">Constructor, default settings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#JsonSerializerBuilder-org.apache.juneau.PropertyStore-">JsonSerializerBuilder</a></span>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;ps)</code>
<div class="block">Constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#add-java.util.Map-">add</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</code>
<div class="block">Adds multiple free-form configuration properties on this object without first clearing out any previous values.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#addBeanTypes--">addBeanTypes</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Add <js>"_type"</js> properties when needed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#addRootType--">addRootType</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Add type attribute to root nodes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#addTo-java.lang.String-java.lang.Object-">addTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Adds a free-form value to a SET property.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#annotations-java.lang.annotation.Annotation...-">annotations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Dynamically applied POJO annotations.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#appendTo-java.lang.String-java.lang.Object-">appendTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Adds a free-form value to the end of a LIST property.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#apply-org.apache.juneau.PropertyStore-">apply</a></span>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;copyFrom)</code>
<div class="block">Copies the settings from the specified property store into this builder.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#applyAnnotations-org.apache.juneau.reflect.AnnotationList-org.apache.juneau.svl.VarResolverSession-">applyAnnotations</a></span>(<a href="../../../../org/apache/juneau/reflect/AnnotationList.html" title="class in org.apache.juneau.reflect">AnnotationList</a>&nbsp;al,
<a href="../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;r)</code>
<div class="block">Applies a set of annotations to this property store.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#applyAnnotations-java.lang.Class...-">applyAnnotations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;fromClasses)</code>
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified class to this context.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#applyAnnotations-java.lang.reflect.Method...-">applyAnnotations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>...&nbsp;fromMethods)</code>
<div class="block">Applies any of the various <ja>@XConfig</ja> annotations on the specified method to this context.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanClassVisibility-org.apache.juneau.Visibility-">beanClassVisibility</a></span>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean class visibility.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanConstructorVisibility-org.apache.juneau.Visibility-">beanConstructorVisibility</a></span>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean constructor visibility.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanFieldVisibility-org.apache.juneau.Visibility-">beanFieldVisibility</a></span>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean field visibility.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanInterceptor-java.lang.Class-java.lang.Class-">beanInterceptor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/transform/BeanInterceptor.html" title="class in org.apache.juneau.transform">BeanInterceptor</a>&lt;?&gt;&gt;&nbsp;value)</code>
<div class="block">Bean interceptor.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanMapPutReturnsOldValue--">beanMapPutReturnsOldValue</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> BeanMap.put() returns old property value.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beanMethodVisibility-org.apache.juneau.Visibility-">beanMethodVisibility</a></span>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean method visibility.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beansDontRequireSomeProperties--">beansDontRequireSomeProperties</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require at least one property.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beansRequireDefaultConstructor--">beansRequireDefaultConstructor</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require no-arg constructors.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beansRequireSerializable--">beansRequireSerializable</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require Serializable interface.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#beansRequireSettersForGetters--">beansRequireSettersForGetters</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require setters for getters.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpi-java.lang.Class-java.lang.String-">bpi</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Bean property includes.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpi-java.util.Map-">bpi</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</code>
<div class="block">Bean property includes.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpi-java.lang.String-java.lang.String-">bpi</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Bean property includes.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpro-java.lang.Class-java.lang.String-">bpro</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Read-only bean properties.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpro-java.util.Map-">bpro</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</code>
<div class="block">Read-only bean properties.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpro-java.lang.String-java.lang.String-">bpro</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Read-only bean properties.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpwo-java.lang.Class-java.lang.String-">bpwo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Write-only bean properties.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpwo-java.util.Map-">bpwo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</code>
<div class="block">Write-only bean properties.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpwo-java.lang.String-java.lang.String-">bpwo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Write-only bean properties.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpx-java.lang.Class-java.lang.String-">bpx</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Bean property excludes.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpx-java.util.Map-">bpx</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</code>
<div class="block">Bean property excludes.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#bpx-java.lang.String-java.lang.String-">bpx</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</code>
<div class="block">Bean property excludes.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializer.html" title="class in org.apache.juneau.json">JsonSerializer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#build--">build</a></span>()</code>
<div class="block">Build the object.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#debug--">debug</a></span>()</code>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Debug mode.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#detectRecursions--">detectRecursions</a></span>()</code>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Automatically detect POJO recursions.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dictionary-java.lang.Object...-">dictionary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean dictionary.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dictionaryOn-java.lang.Class-java.lang.Class...-">dictionaryOn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean dictionary.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dontIgnorePropertiesWithoutSetters--">dontIgnorePropertiesWithoutSetters</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore properties without setters.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dontIgnoreTransientFields--">dontIgnoreTransientFields</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore transient fields.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dontIgnoreUnknownNullBeanProperties--">dontIgnoreUnknownNullBeanProperties</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore unknown properties with null values.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#dontUseInterfaceProxies--">dontUseInterfaceProxies</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use interface proxies.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#escapeSolidus--">escapeSolidus</a></span>()</code>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Prefix solidus <js>'/'</js> characters with escapes.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#escapeSolidus-boolean-">escapeSolidus</a></span>(boolean&nbsp;value)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#example-java.lang.Class-T-">example</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;pojoClass,
T&nbsp;o)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> POJO example.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#exampleJson-java.lang.Class-java.lang.String-">exampleJson</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;pojoClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;json)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> POJO example.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#fileCharset-java.nio.charset.Charset-">fileCharset</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a>&nbsp;value)</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> File charset.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#fluentSetters--">fluentSetters</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Find fluent setters.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#fluentSetters-java.lang.Class-">fluentSetters</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Find fluent setters.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ignoreInvocationExceptionsOnGetters--">ignoreInvocationExceptionsOnGetters</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore invocation errors on getters.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ignoreInvocationExceptionsOnSetters--">ignoreInvocationExceptionsOnSetters</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore invocation errors on setters.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ignoreRecursions--">ignoreRecursions</a></span>()</code>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Ignore recursion errors.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ignoreUnknownBeanProperties--">ignoreUnknownBeanProperties</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore unknown properties.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#implClass-java.lang.Class-java.lang.Class-">implClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;interfaceClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Implementation classes.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#implClasses-java.util.Map-">implClasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&gt;&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Implementation classes.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#initialDepth-int-">initialDepth</a></span>(int&nbsp;value)</code>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Initial depth.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#interfaceClass-java.lang.Class-java.lang.Class-">interfaceClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;value)</code>
<div class="block">Identifies a class to be used as the interface class for the specified class and all subclasses.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#interfaces-java.lang.Class...-">interfaces</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;value)</code>
<div class="block">Identifies a set of interfaces.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#keepNullProperties--">keepNullProperties</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Don't trim null bean property values.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#listener-java.lang.Class-">listener</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;value)</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Serializer listener.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#locale-java.util.Locale-">locale</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;value)</code>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Locale.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#maxDepth-int-">maxDepth</a></span>(int&nbsp;value)</code>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Max traversal depth.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#maxIndent-int-">maxIndent</a></span>(int&nbsp;value)</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Maximum indentation.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#mediaType-org.apache.juneau.http.MediaType-">mediaType</a></span>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;value)</code>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Media type.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#notBeanClasses-java.lang.Object...-">notBeanClasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean class exclusions.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#notBeanPackages-java.lang.Object...-">notBeanPackages</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean package exclusions.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#prependTo-java.lang.String-java.lang.Object-">prependTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Adds a free-form value to the beginning of a LIST property.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#propertyNamer-java.lang.Class-java.lang.Class-">propertyNamer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/PropertyNamer.html" title="interface in org.apache.juneau">PropertyNamer</a>&gt;&nbsp;value)</code>
<div class="block">Bean property namer</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#propertyNamer-java.lang.Class-">propertyNamer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/PropertyNamer.html" title="interface in org.apache.juneau">PropertyNamer</a>&gt;&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean property namer</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#putAllTo-java.lang.String-java.lang.Object-">putAllTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Adds or overwrites multiple free-form entries in a MAP property.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#putTo-java.lang.String-java.lang.String-java.lang.Object-">putTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Adds or overwrites a free-form entry in a MAP property.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#quoteChar-char-">quoteChar</a></span>(char&nbsp;value)</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Quote character.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#removeFrom-java.lang.String-java.lang.Object-">removeFrom</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Removes a free-form value from a SET, LIST, or MAP property.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#set-java.util.Map-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</code>
<div class="block">Sets multiple free-form configuration properties on this object replacing all previous values.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#set-java.lang.String-java.lang.Object-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Sets a free-form configuration property on this object.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#simple--">simple</a></span>()</code>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Simple JSON mode.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#simple-boolean-">simple</a></span>(boolean&nbsp;value)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#sortCollections--">sortCollections</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Sort arrays and collections alphabetically.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#sortMaps--">sortMaps</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Sort maps alphabetically.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#sortProperties--">sortProperties</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Sort bean properties.</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#sortProperties-java.lang.Class...-">sortProperties</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;on)</code>
<div class="block">Sort bean properties.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#sq--">sq</a></span>()</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Quote character.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ssq--">ssq</a></span>()</code>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Simple JSON mode and single quote.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#stopClass-java.lang.Class-java.lang.Class-">stopClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;value)</code>
<div class="block">Identifies a stop class for the annotated class.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#streamCharset-java.nio.charset.Charset-">streamCharset</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a>&nbsp;value)</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Output stream charset.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#swaps-java.lang.Object...-">swaps</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Java object swaps.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#timeZone-java.util.TimeZone-">timeZone</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;value)</code>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> TimeZone.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#trimEmptyCollections--">trimEmptyCollections</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim empty lists and arrays.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#trimEmptyMaps--">trimEmptyMaps</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim empty maps.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#trimStrings--">trimStrings</a></span>()</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim strings.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#typeName-java.lang.Class-java.lang.String-">typeName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block">An identifying name for this class.</div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#typePropertyName-java.lang.Class-java.lang.String-">typePropertyName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean type property name.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#typePropertyName-java.lang.String-">typePropertyName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean type property name.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#uriContext-org.apache.juneau.UriContext-">uriContext</a></span>(<a href="../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;value)</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI context bean.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#uriRelativity-org.apache.juneau.UriRelativity-">uriRelativity</a></span>(<a href="../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI relativity.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#uriResolution-org.apache.juneau.UriResolution-">uriResolution</a></span>(<a href="../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</code>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI resolution.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#useEnumNames--">useEnumNames</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use enum names.</div>
</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#useJavaBeanIntrospector--">useJavaBeanIntrospector</a></span>()</code>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use Java Introspector.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#useWhitespace--">useWhitespace</a></span>()</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Use whitespace.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#ws--">ws</a></span>()</code>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Use whitespace.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.serializer.WriterSerializerBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juneau.serializer.<a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></h3>
<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#useWhitespace-boolean-">useWhitespace</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.serializer.SerializerBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juneau.serializer.<a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html" title="class in org.apache.juneau.serializer">SerializerBuilder</a></h3>
<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addBeanTypes-boolean-">addBeanTypes</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addRootType-boolean-">addRootType</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#dontTrimNullProperties--">dontTrimNullProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#keepNullProperties-boolean-">keepNullProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#sortCollections-boolean-">sortCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#sortMaps-boolean-">sortMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimEmptyCollections-boolean-">trimEmptyCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimEmptyMaps-boolean-">trimEmptyMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimNullProperties-boolean-">trimNullProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimStrings-boolean-">trimStrings</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.BeanTraverseBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juneau.<a href="../../../../org/apache/juneau/BeanTraverseBuilder.html" title="class in org.apache.juneau">BeanTraverseBuilder</a></h3>
<code><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#detectRecursions-boolean-">detectRecursions</a>, <a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#ignoreRecursions-boolean-">ignoreRecursions</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.BeanContextBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juneau.<a href="../../../../org/apache/juneau/BeanContextBuilder.html" title="class in org.apache.juneau">BeanContextBuilder</a></h3>
<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionary-java.lang.Class...-">beanDictionary</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionary-java.lang.Object...-">beanDictionary</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionaryRemove-java.lang.Class...-">beanDictionaryRemove</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionaryRemove-java.lang.Object...-">beanDictionaryRemove</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionaryReplace-java.lang.Class...-">beanDictionaryReplace</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionaryReplace-java.lang.Object...-">beanDictionaryReplace</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanFilters-java.lang.Object...-">beanFilters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanFiltersRemove-java.lang.Object...-">beanFiltersRemove</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanFiltersReplace-java.lang.Object...-">beanFiltersReplace</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanMapPutReturnsOldValue-boolean-">beanMapPutReturnsOldValue</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireDefaultConstructor-boolean-">beansRequireDefaultConstructor</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSerializable-boolean-">beansRequireSerializable</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSettersForGetters-boolean-">beansRequireSettersForGetters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSomeProperties-boolean-">beansRequireSomeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#debug-boolean-">debug</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#excludeProperties-java.lang.Class-java.lang.String-">excludeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#excludeProperties-java.util.Map-">excludeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#excludeProperties-java.lang.String-java.lang.String-">excludeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#fluentSetters-boolean-">fluentSetters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnGetters-boolean-">ignoreInvocationExceptionsOnGetters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnSetters-boolean-">ignoreInvocationExceptionsOnSetters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignorePropertiesWithoutSetters-boolean-">ignorePropertiesWithoutSetters</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreTransientFields-boolean-">ignoreTransientFields</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties-boolean-">ignoreUnknownBeanProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownNullBeanProperties-boolean-">ignoreUnknownNullBeanProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#includeProperties-java.lang.Class-java.lang.String-">includeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#includeProperties-java.util.Map-">includeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#includeProperties-java.lang.String-java.lang.String-">includeProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwaps-java.lang.Object...-">pojoSwaps</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwapsRemove-java.lang.Object...-">pojoSwapsRemove</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwapsReplace-java.lang.Object...-">pojoSwapsReplace</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties-boolean-">sortProperties</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#useEnumNames-boolean-">useEnumNames</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#useInterfaceProxies-boolean-">useInterfaceProxies</a>, <a href="../../../../org/apache/juneau/BeanContextBuilder.html#useJavaBeanIntrospector-boolean-">useJavaBeanIntrospector</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.ContextBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juneau.<a href="../../../../org/apache/juneau/ContextBuilder.html" title="class in org.apache.juneau">ContextBuilder</a></h3>
<code><a href="../../../../org/apache/juneau/ContextBuilder.html#build-java.lang.Class-">build</a>, <a href="../../../../org/apache/juneau/ContextBuilder.html#getPropertyStore--">getPropertyStore</a>, <a href="../../../../org/apache/juneau/ContextBuilder.html#getPropertyStoreBuilder--">getPropertyStoreBuilder</a>, <a href="../../../../org/apache/juneau/ContextBuilder.html#peek-java.lang.Class-java.lang.String-">peek</a>, <a href="../../../../org/apache/juneau/ContextBuilder.html#peek-java.lang.String-">peek</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="JsonSerializerBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JsonSerializerBuilder</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.37">JsonSerializerBuilder</a>()</pre>
<div class="block">Constructor, default settings.</div>
</li>
</ul>
<a name="JsonSerializerBuilder-org.apache.juneau.PropertyStore-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JsonSerializerBuilder</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.46">JsonSerializerBuilder</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;ps)</pre>
<div class="block">Constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ps</code> - The initial configuration settings for this builder.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="build--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializer.html" title="class in org.apache.juneau.json">JsonSerializer</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.51">build</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#build--">ContextBuilder</a></code></span></div>
<div class="block">Build the object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#build--">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The built object.
<br>Subsequent calls to this method will create new instances (unless context object is cacheable).</dd>
</dl>
</li>
</ul>
<a name="escapeSolidus-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeSolidus</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.69">escapeSolidus</a>(boolean&nbsp;value)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Prefix solidus <js>'/'</js> characters with escapes.
<div class='warn'>
<b>Deprecated</b> - Use <a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#escapeSolidus--"><code>escapeSolidus()</code></a>
</div></div>
</li>
</ul>
<a name="escapeSolidus--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeSolidus</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.86">escapeSolidus</a>()</pre>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Prefix solidus <js>'/'</js> characters with escapes.
<p>
Shortcut for calling <code>escapeSolidus(<jk>true</jk>)</code>.
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/json/JsonSerializer.html#JSON_escapeSolidus"><code>JsonSerializer.JSON_escapeSolidus</code></a>
</ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="simple-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simple</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.100">simple</a>(boolean&nbsp;value)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Simple JSON mode.
<div class='warn'>
<b>Deprecated</b> - Use <a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html#simple--"><code>simple()</code></a>
</div></div>
</li>
</ul>
<a name="simple--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simple</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.117">simple</a>()</pre>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Simple JSON mode.
<p>
Shortcut for calling <code>simple(<jk>true</jk>)</code>.
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/json/JsonSerializer.html#JSON_simpleMode"><code>JsonSerializer.JSON_simpleMode</code></a>
</ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ssq--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ssq</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.135">ssq</a>()</pre>
<div class="block"><i><l>JsonSerializer</l> configuration property:&emsp;</i> Simple JSON mode and single quote.
<p>
Shortcut for calling <c>simple().sq()</c>.
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/json/JsonSerializer.html#JSON_simpleMode"><code>JsonSerializer.JSON_simpleMode</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_quoteChar"><code>WriterSerializer.WSERIALIZER_quoteChar</code></a>
</ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="add-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.142">add</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#add-java.util.Map-">ContextBuilder</a></code></span></div>
<div class="block">Adds multiple free-form configuration properties on this object without first clearing out any previous values.
<p>
Identical in function to <a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a> but allows you to specify multiple values at once.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that sorts bean properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortMaps()
.sortProperties()
.build();
<jc>// Same, but use generic add() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.add(
AMap.<jsm>of</jsm>(
<jsf>BEAN_sortMaps</jsf>, <jk>true</jk>,
<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>
)
)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#add-java.util.Map-">add</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - The properties to set on this class.
<br>The keys must be strings.
<br>The valid value types depend on the property type:
<ul>
<li><js>"s"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"b"</js> - Any <l>Object</l> converted to a <l>Boolean</l> using <c>Boolean.<jsm>parseBoolean</jsm>(value.toString())</c>.
<li><js>"i"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"c"</js> - Only <l>Class</l> objects are allowed.
<li><js>"o"</js> - Left as-is.
<li><js>"ss"</js>,<js>"si"</js>,<js>"sc"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"ls"</js>,<js>"li"</js>,<js>"lc"</js>,<js>"lo"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"sms"</js>,<js>"smi"</js>,<js>"smc"</js>,<js>"smo"</js> - Any sorted map of any convertible <l>Objects</l> or a JSON Object string.
<li><js>"oms"</js>,<js>"omi"</js>,<js>"omc"</js>,<js>"omo"</js> - Any ordered map of any convertible <l>Objects</l> or a JSON Object string.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="addTo-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addTo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.148">addTo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#addTo-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Adds a free-form value to a SET property.
<p>
SET properties are those properties with one of the following type parts:
<ul>
<li><js>"ss"</js> - <c>TreeSet&lt;String&gt;</c>
<li><js>"si"</js> - <c>TreeSet&lt;Integer&gt;</c>
<li><js>"sc"</js> - <c>TreeSet&lt;Class&gt;</c>
</ul>
<p>
For example, the <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_notBeanClasses"><code>BeanContext.BEAN_notBeanClasses</code></a> property which has the value <js>"BeanContext.notBeanClasses.sc"</js>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that forces MyNotBean classes to be converted to strings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.notBeanClasses(MyNotBean.<jk>class</jk>)
.build();
<jc>// Same, but use generic addTo() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_notBeanClasses</jsf>, MyNotBean.<jk>class</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#addTo-java.lang.String-java.lang.Object-">addTo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - The new value to add to the SET property.
<br>The valid value types depend on the property type:
<ul>
<li><js>"ss"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"si"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"sc"</js> - Only <l>Class</l> objects are allowed.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="appendTo-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.154">appendTo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#appendTo-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Adds a free-form value to the end of a LIST property.
<p>
LIST properties are those properties with one of the following type parts:
<ul>
<li><js>"ls"</js> - <c>Linkedlist&lt;String&gt;</c>
<li><js>"li"</js> - <c>Linkedlist&lt;Integer&gt;</c>
<li><js>"lc"</js> - <c>Linkedlist&lt;Class&gt;</c>
<li><js>"lo"</js> - <c>Linkedlist&lt;Object&gt;</c>
</ul>
<p>
For example, the <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_swaps"><code>BeanContext.BEAN_swaps</code></a> property which has the value <js>"BeanContext.swaps.lo"</js>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that converts Temporal objects to Basic ISO date strings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
<jc>// Same, but use generic appendTo() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.appendTo(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#appendTo-java.lang.String-java.lang.Object-">appendTo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - The new value to add to the LIST property.
<br>The valid value types depend on the property type:
<ul>
<li><js>"ls"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"li"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"lc"</js> - Only <l>Class</l> objects are allowed.
<li><js>"lo"</js> - Left as-is.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="apply-org.apache.juneau.PropertyStore-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.160">apply</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;copyFrom)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#apply-org.apache.juneau.PropertyStore-">ContextBuilder</a></code></span></div>
<div class="block">Copies the settings from the specified property store into this builder.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a free-form set of properties.</jc>
PropertyStore ps = PropertyStore
.<jsm>create</jsm>()
.set(<jsf>BEAN_sortMaps</jsf>, <jk>true</jk>)
.set(<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>)
.build();
<jc>// Create a serializer that uses those settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.apply(ps)
.build();
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#apply-org.apache.juneau.PropertyStore-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>copyFrom</code> - The property store whose settings are being copied.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="applyAnnotations-java.lang.Class...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyAnnotations</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.166">applyAnnotations</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;fromClasses)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#applyAnnotations-java.lang.Class...-">ContextBuilder</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="../../../../org/apache/juneau/annotation/PropertyStoreApply.html" title="annotation in org.apache.juneau.annotation"><code>PropertyStoreApply</code></a> will be resolved and
applied as properties to this builder. These annotations include:
<ul class='javatree'>
<li class ='ja'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html" title="annotation in org.apache.juneau.annotation"><code>BeanConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/csv/annotation/CsvConfig.html" title="annotation in org.apache.juneau.csv.annotation"><code>CsvConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/html/annotation/HtmlConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/html/annotation/HtmlDocConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlDocConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/jso/annotation/JsoConfig.html" title="annotation in org.apache.juneau.jso.annotation"><code>JsoConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/json/annotation/JsonConfig.html" title="annotation in org.apache.juneau.json.annotation"><code>JsonConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.html" title="annotation in org.apache.juneau.jsonschema.annotation"><code>JsonSchemaConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/msgpack/annotation/MsgPackConfig.html" title="annotation in org.apache.juneau.msgpack.annotation"><code>MsgPackConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/oapi/annotation/OpenApiConfig.html" title="annotation in org.apache.juneau.oapi.annotation"><code>OpenApiConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/parser/annotation/ParserConfig.html" title="annotation in org.apache.juneau.parser.annotation"><code>ParserConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/plaintext/annotation/PlainTextConfig.html" title="annotation in org.apache.juneau.plaintext.annotation"><code>PlainTextConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/serializer/annotation/SerializerConfig.html" title="annotation in org.apache.juneau.serializer.annotation"><code>SerializerConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/soap/annotation/SoapXmlConfig.html" title="annotation in org.apache.juneau.soap.annotation"><code>SoapXmlConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/uon/annotation/UonConfig.html" title="annotation in org.apache.juneau.uon.annotation"><code>UonConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.html" title="annotation in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/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="../../../../org/apache/juneau/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='bcode w800'>
<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 s = JsonSerializer
.<jsm>create</jsm>()
.applyAnnotations(MyClass.<jk>class</jk>)
.build();
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#applyAnnotations-java.lang.Class...-">applyAnnotations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fromClasses</code> - The classes on which the annotations are defined.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="applyAnnotations-java.lang.reflect.Method...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyAnnotations</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.172">applyAnnotations</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>...&nbsp;fromMethods)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#applyAnnotations-java.lang.reflect.Method...-">ContextBuilder</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="../../../../org/apache/juneau/annotation/PropertyStoreApply.html" title="annotation in org.apache.juneau.annotation"><code>PropertyStoreApply</code></a> will be resolved and
applied as properties to this builder. These annotations include:
<ul class='javatree'>
<li class ='ja'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html" title="annotation in org.apache.juneau.annotation"><code>BeanConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/csv/annotation/CsvConfig.html" title="annotation in org.apache.juneau.csv.annotation"><code>CsvConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/html/annotation/HtmlConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/html/annotation/HtmlDocConfig.html" title="annotation in org.apache.juneau.html.annotation"><code>HtmlDocConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/jso/annotation/JsoConfig.html" title="annotation in org.apache.juneau.jso.annotation"><code>JsoConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/json/annotation/JsonConfig.html" title="annotation in org.apache.juneau.json.annotation"><code>JsonConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.html" title="annotation in org.apache.juneau.jsonschema.annotation"><code>JsonSchemaConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/msgpack/annotation/MsgPackConfig.html" title="annotation in org.apache.juneau.msgpack.annotation"><code>MsgPackConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/oapi/annotation/OpenApiConfig.html" title="annotation in org.apache.juneau.oapi.annotation"><code>OpenApiConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/parser/annotation/ParserConfig.html" title="annotation in org.apache.juneau.parser.annotation"><code>ParserConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/plaintext/annotation/PlainTextConfig.html" title="annotation in org.apache.juneau.plaintext.annotation"><code>PlainTextConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/serializer/annotation/SerializerConfig.html" title="annotation in org.apache.juneau.serializer.annotation"><code>SerializerConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/soap/annotation/SoapXmlConfig.html" title="annotation in org.apache.juneau.soap.annotation"><code>SoapXmlConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/uon/annotation/UonConfig.html" title="annotation in org.apache.juneau.uon.annotation"><code>UonConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.html" title="annotation in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingConfig</code></a>
<li class ='ja'><a href="../../../../org/apache/juneau/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="../../../../org/apache/juneau/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='bcode w800'>
<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 s = JsonSerializer
.<jsm>create</jsm>()
.applyAnnotations(MyClass.<jk>class</jk>.getMethod(<js>"myMethod"</js>))
.build();
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#applyAnnotations-java.lang.reflect.Method...-">applyAnnotations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fromMethods</code> - The methods on which the annotations are defined.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="applyAnnotations-org.apache.juneau.reflect.AnnotationList-org.apache.juneau.svl.VarResolverSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyAnnotations</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.178">applyAnnotations</a>(<a href="../../../../org/apache/juneau/reflect/AnnotationList.html" title="class in org.apache.juneau.reflect">AnnotationList</a>&nbsp;al,
<a href="../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;r)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#applyAnnotations-org.apache.juneau.reflect.AnnotationList-org.apache.juneau.svl.VarResolverSession-">ContextBuilder</a></code></span></div>
<div class="block">Applies a set of annotations to this property store.
<p>
The <a href="../../../../org/apache/juneau/reflect/AnnotationList.html" title="class in org.apache.juneau.reflect"><code>AnnotationList</code></a> object is an ordered list of annotations and the classes/methods/packages they were found on.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<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 @PropertyStoreApply.</jc>
AnnotationList al = ClassInfo.<jsm>of</jsm>(MyClass.<jk>class</jk>)
.getAnnotationList(ConfigAnnotationFilter.<jsf>INSTANCE</jsf>);
<jc>// Use the default VarResolver to resolve any variables in the annotation fields.</jc>
VarResolverSession vs = VarResolver.<jsf>DEFAULT</jsf>.createSession();
<jc>// Apply any settings found on the annotations.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.applyAnnotations(al, vs)
.build();
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#applyAnnotations-org.apache.juneau.reflect.AnnotationList-org.apache.juneau.svl.VarResolverSession-">applyAnnotations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>al</code> - The list of all annotations annotated with <a href="../../../../org/apache/juneau/annotation/PropertyStoreApply.html" title="annotation in org.apache.juneau.annotation"><code>PropertyStoreApply</code></a>.</dd>
<dd><code>r</code> - The string resolver for resolving variables in annotation values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="debug--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>debug</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.184">debug</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#debug--">ContextBuilder</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="../../../../org/apache/juneau/BeanTraverseContext.html#BEANTRAVERSE_detectRecursions"><code>BeanTraverseContext.BEANTRAVERSE_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='bcode w800'>
<jc>// Create a serializer with debug enabled.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.debug()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_debug</jsf>, <jk>true</jk>)
.build();
<jc>// Create a POJO model with a recursive loop.</jc>
<jk>public class</jk> A {
<jk>public</jk> Object <jf>f</jf>;
}
A a = <jk>new</jk> A();
a.<jf>f</jf> = a;
<jc>// Throws a SerializeException and not a StackOverflowError</jc>
String json = s.serialize(a);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/Context.html#CONTEXT_debug"><code>Context.CONTEXT_debug</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#debug--">debug</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="locale-java.util.Locale-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locale</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.190">locale</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#locale-java.util.Locale-">ContextBuilder</a></code></span></div>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Locale.
<p>
Specifies the default locale for serializer and parser sessions when not specified via <a href="../../../../org/apache/juneau/SessionArgs.html#locale-java.util.Locale-"><code>SessionArgs.locale(Locale)</code></a>.
Typically used for POJO swaps that need to deal with locales such as swaps that convert <l>Date</l> and <l>Calendar</l>
objects to strings by accessing it via the session passed into the <a href="../../../../org/apache/juneau/transform/PojoSwap.html#swap-org.apache.juneau.BeanSession-T-"><code>PojoSwap.swap(BeanSession, Object)</code></a> and
<a href="../../../../org/apache/juneau/transform/PojoSwap.html#unswap-org.apache.juneau.BeanSession-S-org.apache.juneau.ClassMeta-java.lang.String-"><code>PojoSwap.unswap(BeanSession, Object, ClassMeta, String)</code></a> methods.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Define a POJO swap that skips serializing beans if we're in the UK.</jc>
<jk>public class</jk> MyBeanSwap <jk>extends</jk> StringSwap&lt;MyBean&gt; {
<ja>@Override</ja>
public String swap(BeanSession session, MyBean o) throws Exception {
<jk>if</jk> (session.getLocale().equals(Locale.<jsf>UK</jsf>))
<jk>return null</jk>;
<jk>return</jk> o.toString();
}
}
<jc>// Create a serializer that uses the specified locale if it's not passed in through session args.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.locale(Locale.<jsf>UK</jsf>)
.pojoSwaps(MyBeanSwap.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>CONTEXT_locale</jsf>, Locale.<jsf>UK</jsf>)
.addTo(<jsf>BEAN_pojoSwaps</jsf>, MyBeanSwap.<jk>class</jk>)
.build();
<jc>// Define on session-args instead.</jc>
SerializerSessionArgs sessionArgs = <jk>new</jk> SerializerSessionArgs().locale(Locale.<jsf>UK</jsf>);
<jk>try</jk> (WriterSerializerSession session = s.createSession(sessionArgs)) {
<jc>// Produces "null" if in the UK.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
}
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/Context.html#CONTEXT_locale"><code>Context.CONTEXT_locale</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#locale-java.util.Locale-">locale</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="mediaType-org.apache.juneau.http.MediaType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mediaType</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.196">mediaType</a>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#mediaType-org.apache.juneau.http.MediaType-">ContextBuilder</a></code></span></div>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> Media type.
<p>
Specifies the default media type for serializer and parser sessions when not specified via <a href="../../../../org/apache/juneau/SessionArgs.html#mediaType-org.apache.juneau.http.MediaType-"><code>SessionArgs.mediaType(MediaType)</code></a>.
Typically used for POJO swaps that need to serialize the same POJO classes differently depending on
the specific requested media type. For example, a swap could handle a request for media types <js>"application/json"</js>
and <js>"application/json+foo"</js> slightly differently even though they're both being handled by the same JSON
serializer or parser.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Define a POJO swap that skips serializing beans if the media type is application/json.</jc>
<jk>public class</jk> MyBeanSwap <jk>extends</jk> StringSwap&lt;MyBean&gt; {
<ja>@Override</ja>
public String swap(BeanSession session, MyBean o) throws Exception {
<jk>if</jk> (session.getMediaType().equals(<js>"application/json"</js>))
<jk>return null</jk>;
<jk>return</jk> o.toString();
}
}
<jc>// Create a serializer that uses the specified media type if it's not passed in through session args.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.mediaType(MediaType.<jsf>JSON</jsf>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>CONTEXT_mediaType</jsf>, MediaType.<jsf>JSON</jsf>)
.build();
<jc>// Define on session-args instead.</jc>
SerializerSessionArgs sessionArgs = <jk>new</jk> SerializerSessionArgs().mediaType(MediaType.<jsf>JSON</jsf>);
<jk>try</jk> (WriterSerializerSession session = s.createSession(sessionArgs)) {
<jc>// Produces "null" since it's JSON.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
}
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/Context.html#CONTEXT_mediaType"><code>Context.CONTEXT_mediaType</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#mediaType-org.apache.juneau.http.MediaType-">mediaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="prependTo-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prependTo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.202">prependTo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#prependTo-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Adds a free-form value to the beginning of a LIST property.
<p>
LIST properties are those properties with one of the following type parts:
<ul>
<li><js>"ls"</js> - <c>Linkedlist&lt;String&gt;</c>
<li><js>"li"</js> - <c>Linkedlist&lt;Integer&gt;</c>
<li><js>"lc"</js> - <c>Linkedlist&lt;Class&gt;</c>
<li><js>"lo"</js> - <c>Linkedlist&lt;Object&gt;</c>
</ul>
<p>
For example, the <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_swaps"><code>BeanContext.BEAN_swaps</code></a> property which has the value <js>"BeanContext.swaps.lo"</js>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that converts Temporal objects to Basic ISO date strings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
<jc>// Same, but use generic prependTo() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.prependTo(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#prependTo-java.lang.String-java.lang.Object-">prependTo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - The new value to add to the LIST property.
<br>The valid value types depend on the property type:
<ul>
<li><js>"ls"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"li"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"lc"</js> - Only <l>Class</l> objects are allowed.
<li><js>"lo"</js> - Left as-is.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="putAllTo-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putAllTo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.208">putAllTo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#putAllTo-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Adds or overwrites multiple free-form entries in a MAP property.
<p>
MAP properties are those properties with one of the following type parts:
<ul>
<li><js>"sms"</js> - <c>TreeMap&lt;String,String&gt;</c>
<li><js>"smi"</js> - <c>TreeMap&lt;String,Integer&gt;</c>
<li><js>"smc"</js> - <c>TreeMap&lt;String,Class&gt;</c>
<li><js>"smo"</js> - <c>TreeMap&lt;String,Object&gt;</c>
<li><js>"oms"</js> - <c>LinkedHashMap&lt;String,String&gt;</c>
<li><js>"omi"</js> - <c>LinkedHashMap&lt;String,Integer&gt;</c>
<li><js>"omc"</js> - <c>LinkedHashMap&lt;String,Class&gt;</c>
<li><js>"omo"</js> - <c>LinkedHashMap&lt;String,Object&gt;</c>
</ul>
<p>
For example, the <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_implClasses"><code>BeanContext.BEAN_implClasses</code></a> property which has the value <js>"BeanContext.implClasses.smc"</js>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that specifies the concrete implementation class for an interface.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.implClass(MyInterface.<jk>class</jk>, MyImplementation.<jk>class</jk>)
.build();
<jc>// Same, but use generic putAllTo() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.putAllTo(<jsf>BEAN_implClasses</jsf>,
AMap.<jsm>of</jsm>(MyInterface.<jk>class</jk>.getName(), MyImplementation.<jk>class</jk>)
)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#putAllTo-java.lang.String-java.lang.Object-">putAllTo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - Either a JSON Object string or a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a> whose valid value types depend on the property type:
<ul>
<li><js>"sms"</js>,<js>"oms"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"smi"</js>,<js>"omi"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"smc"</js>,<js>"omc"</js> - Only <l>Class</l> objects are allowed.
<li><js>"smo"</js>,<js>"omo"</js> - Left as-is.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="putTo-java.lang.String-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putTo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.214">putTo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#putTo-java.lang.String-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Adds or overwrites a free-form entry in a MAP property.
<p>
MAP properties are those properties with one of the following type parts:
<ul>
<li><js>"sms"</js> - <c>TreeMap&lt;String,String&gt;</c>
<li><js>"smi"</js> - <c>TreeMap&lt;String,Integer&gt;</c>
<li><js>"smc"</js> - <c>TreeMap&lt;String,Class&gt;</c>
<li><js>"smo"</js> - <c>TreeMap&lt;String,Object&gt;</c>
<li><js>"oms"</js> - <c>LinkedHashMap&lt;String,String&gt;</c>
<li><js>"omi"</js> - <c>LinkedHashMap&lt;String,Integer&gt;</c>
<li><js>"omc"</js> - <c>LinkedHashMap&lt;String,Class&gt;</c>
<li><js>"omo"</js> - <c>LinkedHashMap&lt;String,Object&gt;</c>
</ul>
<p>
For example, the <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_implClasses"><code>BeanContext.BEAN_implClasses</code></a> property which has the value <js>"BeanContext.implClasses.smc"</js>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that specifies the concrete implementation class for an interface.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.implClass(MyInterface.<jk>class</jk>, MyImplementation.<jk>class</jk>)
.build();
<jc>// Same, but use generic putTo() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.putTo(<jsf>BEAN_implClasses</jsf>, MyInterface.<jk>class</jk>.getName(), MyImplementation.<jk>class</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#putTo-java.lang.String-java.lang.String-java.lang.Object-">putTo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>key</code> - The property value map key.</dd>
<dd><code>value</code> - The property value map value.
<br>The valid value types depend on the property type:
<ul>
<li><js>"sms"</js>,<js>"oms"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"smi"</js>,<js>"omi"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"smc"</js>,<js>"omc"</js> - Only <l>Class</l> objects are allowed.
<li><js>"smo"</js>,<js>"omo"</js> - Left as-is.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="removeFrom-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeFrom</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.220">removeFrom</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#removeFrom-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Removes a free-form value from a SET, LIST, or MAP property.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that specifies the concrete implementation class for an interface.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
<jc>// Clone the previous serializer but remove the swap.</jc>
s = s
.<jsm>builder</jsm>()
.removeFrom(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#removeFrom-java.lang.String-java.lang.Object-">removeFrom</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - The property value in the SET/LIST/MAP property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="set-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.226">set</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.util.Map-">ContextBuilder</a></code></span></div>
<div class="block">Sets multiple free-form configuration properties on this object replacing all previous values.
<p>
Identical in function to <a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a> but allows you to specify multiple values at once.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that sorts maps and bean properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortMaps()
.sortProperties()
.build();
<jc>// Same, but use generic set(Map) method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(
AMap.<jsm>of</jsm>(
<jsf>BEAN_sortMaps</jsf>, <jk>true</jk>,
<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>
)
)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-"><code>ContextBuilder.set(String, Object)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#set-java.util.Map-">set</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>properties</code> - The properties to set on this class.
<br>The keys must be strings.
<br>The valid value types depend on the property type:
<ul>
<li><js>"s"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"b"</js> - Any <l>Object</l> converted to a <l>Boolean</l> using <c>Boolean.<jsm>parseBoolean</jsm>(value.toString())</c>.
<li><js>"i"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"c"</js> - Only <l>Class</l> objects are allowed.
<li><js>"o"</js> - Left as-is.
<li><js>"ss"</js>,<js>"si"</js>,<js>"sc"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"ls"</js>,<js>"li"</js>,<js>"lc"</js>,<js>"lo"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"sms"</js>,<js>"smi"</js>,<js>"smc"</js>,<js>"smo"</js> - Any sorted map of any convertible <l>Objects</l> or a JSON Object string.
<li><js>"oms"</js>,<js>"omi"</js>,<js>"omc"</js>,<js>"omo"</js> - Any ordered map of any convertible <l>Objects</l> or a JSON Object string.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="set-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.232">set</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
<div class="block">Sets a free-form configuration property on this object.
<p>
Provides the ability to specify configuration property values in a generic fashion.
<p>
Property names must have the following format that identify their datatype...
<p class='bcode w800'>
<js>"{class}.{name}.{type}"</js>
</p>
<p>
...where the parts consist of the following...
<ul>
<li><js>"{class}"</js> - The group name of the property (e.g. <js>"JsonSerializer"</js>).
<br>It's always going to be the simple class name of the class it's associated with.
<li><js>"{name}"</js> - The property name (e.g. <js>"useWhitespace"</js>).
<li><js>"{type}"</js> - The property data type.
<br>A 1 or 2 character string that identifies the data type of the property.
<br>Valid values are:
<ul>
<li><js>"s"</js> - <c>String</c>
<li><js>"b"</js> - <c>Boolean</c>
<li><js>"i"</js> - <c>Integer</c>
<li><js>"c"</js> - <c>Class</c>
<li><js>"o"</js> - <c>Object</c>
<li><js>"ss"</js> - <c>TreeSet&lt;String&gt;</c>
<li><js>"si"</js> - <c>TreeSet&lt;Integer&gt;</c>
<li><js>"sc"</js> - <c>TreeSet&lt;Class&gt;</c>
<li><js>"ls"</js> - <c>Linkedlist&lt;String&gt;</c>
<li><js>"li"</js> - <c>Linkedlist&lt;Integer&gt;</c>
<li><js>"lc"</js> - <c>Linkedlist&lt;Class&gt;</c>
<li><js>"lo"</js> - <c>Linkedlist&lt;Object&gt;</c>
<li><js>"sms"</js> - <c>TreeMap&lt;String,String&gt;</c>
<li><js>"smi"</js> - <c>TreeMap&lt;String,Integer&gt;</c>
<li><js>"smc"</js> - <c>TreeMap&lt;String,Class&gt;</c>
<li><js>"smo"</js> - <c>TreeMap&lt;String,Object&gt;</c>
<li><js>"oms"</js> - <c>LinkedHashMap&lt;String,String&gt;</c>
<li><js>"omi"</js> - <c>LinkedHashMap&lt;String,Integer&gt;</c>
<li><js>"omc"</js> - <c>LinkedHashMap&lt;String,Class&gt;</c>
<li><js>"omo"</js> - <c>LinkedHashMap&lt;String,Object&gt;</c>
</ul>
</ul>
<p>
For example, <js>"BeanContext.swaps.lc"</js> refers to a property on the <l>BeanContext</l> class
called <l>swaps</l> that has a data type of <l>List&lt;Class&gt;</l>.
<p>
Property values get 'normalized' when they get set.
For example, calling <c>set(<js>"BeanContext.debug.b"</js>, <js>"true"</js>)</c> will cause the property
value to be converted to a boolean. This allows the underlying <a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a> class to be comparable
and useful in determining whether a cached instance of a context object can be returned.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that sorts maps and bean properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortMaps()
.sortProperties()
.build();
<jc>// Same, but use generic set() method.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_sortMaps</jsf>, <jk>true</jk>)
.set(<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>)
.build();
</p>
<p>
As a general rule, builders don't typically have "unsetter" methods. For example, once you've set strict
mode on the <l>ParserBuilder</l> class, a method does not exist for unsetting it.
This method can be used in these rare cases where you need to unset a value by setting it to <jk>null</jk>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Clone an existing serializer and unset the sort settings.</jc>
s = s.<jsm>builder</jsm>()
.set(<jsf>BEAN_sortMaps</jsf>, <jk>null</jk>)
.set(<jsf>BEAN_sortProperties</jsf>, <jk>null</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#set-java.lang.String-java.lang.Object-">set</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The property name.</dd>
<dd><code>value</code> - The property value.
<br>The valid value types depend on the property type:
<ul>
<li><js>"s"</js> - Any <l>Object</l> converted to a <l>String</l> using <c>value.toString()</c>.
<li><js>"b"</js> - Any <l>Object</l> converted to a <l>Boolean</l> using <c>Boolean.<jsm>parseBoolean</jsm>(value.toString())</c>.
<li><js>"i"</js> - Any <l>Object</l> converted to an <l>Integer</l> using <c>Integer.<jsm>valueOf</jsm>(value.toString())</c>.
<li><js>"c"</js> - Only <l>Class</l> objects are allowed.
<li><js>"o"</js> - Left as-is.
<li><js>"ss"</js>,<js>"si"</js>,<js>"sc"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"ls"</js>,<js>"li"</js>,<js>"lc"</js>,<js>"lo"</js> - Any collection or array of any convertible <l>Objects</l> or a JSON Array string.
<li><js>"sms"</js>,<js>"smi"</js>,<js>"smc"</js>,<js>"smo"</js> - Any sorted map of any convertible <l>Objects</l> or a JSON Object string.
<li><js>"oms"</js>,<js>"omi"</js>,<js>"omc"</js>,<js>"omo"</js> - Any ordered map of any convertible <l>Objects</l> or a JSON Object string.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="timeZone-java.util.TimeZone-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeZone</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.238">timeZone</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/ContextBuilder.html#timeZone-java.util.TimeZone-">ContextBuilder</a></code></span></div>
<div class="block"><i><l>Context</l> configuration property:&emsp;</i> TimeZone.
<p>
Specifies the default time zone for serializer and parser sessions when not specified via <a href="../../../../org/apache/juneau/SessionArgs.html#timeZone-java.util.TimeZone-"><code>SessionArgs.timeZone(TimeZone)</code></a>.
Typically used for POJO swaps that need to deal with timezones such as swaps that convert <l>Date</l> and <l>Calendar</l>
objects to strings by accessing it via the session passed into the <a href="../../../../org/apache/juneau/transform/PojoSwap.html#swap-org.apache.juneau.BeanSession-T-"><code>PojoSwap.swap(BeanSession, Object)</code></a> and
<a href="../../../../org/apache/juneau/transform/PojoSwap.html#unswap-org.apache.juneau.BeanSession-S-org.apache.juneau.ClassMeta-java.lang.String-"><code>PojoSwap.unswap(BeanSession, Object, ClassMeta, String)</code></a> methods.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Define a POJO swap that skips serializing beans if the time zone is GMT.</jc>
<jk>public class</jk> MyBeanSwap <jk>extends</jk> StringSwap&lt;MyBean&gt; {
<ja>@Override</ja>
public String swap(BeanSession session, MyBean o) throws Exception {
<jk>if</jk> (session.getTimeZone().equals(TimeZone.<jsf>GMT</jsf>))
<jk>return null</jk>;
<jk>return</jk> o.toString();
}
}
<jc>// Create a serializer that uses GMT if the timezone is not specified in the session args.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.timeZone(TimeZone.<jsf>GMT</jsf>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>CONTEXT_timeZone</jsf>, TimeZone.<jsf>GMT</jsf>)
.build();
<jc>// Define on session-args instead.</jc>
SerializerSessionArgs sessionArgs = <jk>new</jk> SerializerSessionArgs().timeZone(TimeZone.<jsf>GMT</jsf>);
<jk>try</jk> (WriterSerializerSession ss = JsonSerializer.<jsf>DEFAULT</jsf>.createSession(sessionArgs)) {
<jc>// Produces "null" since the time zone is GMT.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
}
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/Context.html#CONTEXT_timeZone"><code>Context.CONTEXT_timeZone</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#timeZone-java.util.TimeZone-">timeZone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="annotations-java.lang.annotation.Annotation...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>annotations</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.244">annotations</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#annotations-java.lang.annotation.Annotation...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Dynamically applied POJO annotations.
<p>
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 <c>on()</c> method can be used with this property.
<p>
The following example shows the equivalent methods for applying the <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation:
<p class='bcode w800'>
<jc>// Class with explicit annotation.</jc>
<ja>@Bean</ja>(bpi=<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>@RestMethod</ja>(...)
<ja>@BeanConfig</ja>(
annotations={
<ja>@Bean</ja>(on=<js>"B"</js>, bpi=<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='bcode w800'>
<jc>// Create a concrete @Bean annotation.</jc>
BeanAnnotation a = <jk>new</jk> BeanAnnotation(<js>"B"</js>).bpi(<js>"street,city,state"</js>);
<jc>// Apply it to a serializer.</jc>
WriterSerializer ws = JsonSerializer.<jsm>create</jsm>().annotations(a).build();
<jc>// Serialize a bean with the dynamically applied annotation.</jc>
String json = ws.serialize(<jk>new</jk> B());
</p>
<p>
The following is the list of concrete annotations provided that can be constructed and passed into the builder
class:
<ul class='javatree'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/BeanAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/BeancAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeancAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/BeanIgnoreAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanIgnoreAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/BeanpAnnotation.html" title="class in org.apache.juneau.annotation"><code>BeanpAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/ExampleAnnotation.html" title="class in org.apache.juneau.annotation"><code>ExampleAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/NamePropertyAnnotation.html" title="class in org.apache.juneau.annotation"><code>NamePropertyAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/ParentPropertyAnnotation.html" title="class in org.apache.juneau.annotation"><code>ParentPropertyAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/SwapAnnotation.html" title="class in org.apache.juneau.annotation"><code>SwapAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/UriAnnotation.html" title="class in org.apache.juneau.annotation"><code>UriAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/csv/annotation/CsvAnnotation.html" title="class in org.apache.juneau.csv.annotation"><code>CsvAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/html/annotation/HtmlAnnotation.html" title="class in org.apache.juneau.html.annotation"><code>HtmlAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/jso/annotation/JsoAnnotation.html" title="class in org.apache.juneau.jso.annotation"><code>JsoAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/json/annotation/JsonAnnotation.html" title="class in org.apache.juneau.json.annotation"><code>JsonAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/jsonschema/annotation/SchemaAnnotation.html" title="class in org.apache.juneau.jsonschema.annotation"><code>SchemaAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/msgpack/annotation/MsgPackAnnotation.html" title="class in org.apache.juneau.msgpack.annotation"><code>MsgPackAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/oapi/annotation/OpenApiAnnotation.html" title="class in org.apache.juneau.oapi.annotation"><code>OpenApiAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/plaintext/annotation/PlainTextAnnotation.html" title="class in org.apache.juneau.plaintext.annotation"><code>PlainTextAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/soap/annotation/SoapXmlAnnotation.html" title="class in org.apache.juneau.soap.annotation"><code>SoapXmlAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/uon/annotation/UonAnnotation.html" title="class in org.apache.juneau.uon.annotation"><code>UonAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.html" title="class in org.apache.juneau.urlencoding.annotation"><code>UrlEncodingAnnotation</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/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>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_annotations"><code>BeanContext.BEAN_annotations</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#annotations-java.lang.annotation.Annotation...-">annotations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanClassVisibility-org.apache.juneau.Visibility-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanClassVisibility</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.250">beanClassVisibility</a>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanClassVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean class visibility.
<p>
Classes are not considered beans unless they meet the minimum visibility requirements.
For example, if the visibility is <jsf>PUBLIC</jsf> and the bean class is <jk>protected</jk>, then the class
will not be interpreted as a bean class and be serialized as a string.
Use this setting to reduce the visibility requirement.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a protected class and one field.</jc>
<jk>protected class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Create a serializer that's capable of serializing the class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanClassVisibility(<jsf>PROTECTED</jsf>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beanClassVisibility</jsf>, <js>"PROTECTED"</js>)
.build();
<jc>// Produces: {"foo","bar"}</jc>
String json = w.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation can be used on a non-public bean class to override this setting.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a public bean class to ignore it as a bean.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanClassVisibility"><code>BeanContext.BEAN_beanClassVisibility</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanClassVisibility-org.apache.juneau.Visibility-">beanClassVisibility</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/Visibility.html#PUBLIC"><code>Visibility.PUBLIC</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanConstructorVisibility-org.apache.juneau.Visibility-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanConstructorVisibility</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.256">beanConstructorVisibility</a>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanConstructorVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean constructor visibility.
<p>
Only look for constructors with the specified minimum visibility.
<p>
This setting affects the logic for finding no-arg constructors for bean. Normally, only <jk>public</jk> no-arg
constructors are used. Use this setting if you want to reduce the visibility requirement.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a protected constructor and one field.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>;
<jk>protected</jk> MyBean() {}
}
<jc>// Create a parser capable of calling the protected constructor.</jc>
ReaderParser p = ReaderParser
.<jsm>create</jsm>()
.beanConstructorVisibility(<jsf>PROTECTED</jsf>)
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_beanConstructorVisibility</jsf>, <js>"PROTECTED"</js>)
.build();
<jc>// Use it.</jc>
MyBean c = r.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanc.html" title="annotation in org.apache.juneau.annotation"><code>@Beanc</code></a> annotation can also be used to expose a non-public constructor.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a public bean constructor to ignore it.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanConstructorVisibility"><code>BeanContext.BEAN_beanConstructorVisibility</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanConstructorVisibility-org.apache.juneau.Visibility-">beanConstructorVisibility</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/Visibility.html#PUBLIC"><code>Visibility.PUBLIC</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanFieldVisibility-org.apache.juneau.Visibility-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanFieldVisibility</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.262">beanFieldVisibility</a>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanFieldVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean field visibility.
<p>
Only look for bean fields with the specified minimum visibility.
<p>
This affects which fields on a bean class are considered bean properties. Normally only <jk>public</jk> fields are considered.
Use this setting if you want to reduce the visibility requirement.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a protected field.</jc>
<jk>public class</jk> MyBean {
<jk>protected</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Create a serializer that recognizes the protected field.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanFieldVisibility(<jsf>PROTECTED</jsf>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beanFieldVisibility</jsf>, <js>"PROTECTED"</js>)
.build();
<jc>// Produces: {"foo":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
Bean fields can be ignored as properties entirely by setting the value to <a href="../../../../org/apache/juneau/Visibility.html#NONE"><code>Visibility.NONE</code></a>
<p class='bcode w800'>
<jc>// Disable using fields as properties entirely.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanFieldVisibility(<jsf>NONE</jsf>)
.build();
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanp.html" title="annotation in org.apache.juneau.annotation"><code>@Beanp</code></a> annotation can also be used to expose a non-public field.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a public bean field to ignore it as a bean property.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanFieldVisibility"><code>BeanContext.BEAN_beanFieldVisibility</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanFieldVisibility-org.apache.juneau.Visibility-">beanFieldVisibility</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/Visibility.html#PUBLIC"><code>Visibility.PUBLIC</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanInterceptor-java.lang.Class-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanInterceptor</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.268">beanInterceptor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/transform/BeanInterceptor.html" title="class in org.apache.juneau.transform">BeanInterceptor</a>&lt;?&gt;&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanInterceptor-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean interceptor.
<p>
Bean interceptors can be used to intercept calls to getters and setters and alter their values in transit.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Interceptor that strips out sensitive information.</jc>
<jk>public class</jk> AddressInterceptor <jk>extends</jk> BeanInterceptor&lt;Address&gt; {
<jk>public</jk> Object readProperty(Address bean, String name, Object value) {
<jk>if</jk> (<js>"taxInfo"</js>.equals(name))
<jk>return</jk> <js>"redacted"</js>;
<jk>return</jk> value;
}
<jk>public</jk> Object writeProperty(Address bean, String name, Object value) {
<jk>if</jk> (<js>"taxInfo"</js>.equals(name) &amp;&amp; <js>"redacted"</js>.equals(value))
<jk>return</jk> TaxInfoUtils.<jsm>lookup</jsm>(bean.getStreet(), bean.getCity(), bean.getState());
<jk>return</jk> value;
}
}
<jc>// Our bean class.</jc>
<jk>public class</jk> Address {
<jk>public</jk> String getTaxInfo() {...}
<jk>public void</jk> setTaxInfo(String s) {...}
}
<jc>// Register filter on serializer or parser.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanInterceptor(Address.<jk>class</jk>, AddressInterceptor.<jk>class</jk>)
.build();
<jc>// Produces: {"taxInfo":"redacted"}</jc>
String json = s.serialize(<jk>new</jk> Address());
</p>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/transform/BeanInterceptor.html" title="class in org.apache.juneau.transform"><code>BeanInterceptor</code></a>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#interceptor--"><code>Bean(interceptor)</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanInterceptor-java.lang.Class-java.lang.Class-">beanInterceptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The bean that the filter applies to.</dd>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanMapPutReturnsOldValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanMapPutReturnsOldValue</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.274">beanMapPutReturnsOldValue</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanMapPutReturnsOldValue--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> BeanMap.put() returns old property value.
<p>
When enabled, then the <a href="../../../../org/apache/juneau/BeanMap.html#put-java.lang.String-java.lang.Object-"><code>BeanMap.put()</code></a> method will return old property
values. Otherwise, it returns <jk>null</jk>.
<p>
Disabled by default because it introduces a slight performance penalty during serialization.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that creates BeanMaps with normal put() behavior.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanMapPutReturnsOldValue()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beanMapPutReturnsOldValue</jsf>, <jk>true</jk>)
.build();
BeanMap&lt;MyBean&gt; bm = s.createSession().toBeanMap(<jk>new</jk> MyBean());
bm.put(<js>"foo"</js>, <js>"bar"</js>);
Object oldValue = bm.put(<js>"foo"</js>, <js>"baz"</js>); <jc>// oldValue == "bar"</jc>
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanMapPutReturnsOldValue"><code>BeanContext.BEAN_beanMapPutReturnsOldValue</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanMapPutReturnsOldValue--">beanMapPutReturnsOldValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beanMethodVisibility-org.apache.juneau.Visibility-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beanMethodVisibility</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.280">beanMethodVisibility</a>(<a href="../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beanMethodVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Minimum bean method visibility.
<p>
Only look for bean methods with the specified minimum visibility.
<p>
This affects which methods are detected as getters and setters on a bean class. Normally only <jk>public</jk> getters and setters are considered.
Use this setting if you want to reduce the visibility requirement.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a protected getter.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String getFoo() { <jk>return</jk> <js>"foo"</js>; }
<jk>protected</jk> String getBar() { <jk>return</jk> <js>"bar"</js>; }
}
<jc>// Create a serializer that looks for protected getters and setters.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beanMethodVisibility(<jsf>PROTECTED</jsf>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beanMethodVisibility</jsf>, <js>"PROTECTED"</js>)
.build();
<jc>// Produces: {"foo":"foo","bar":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanp.html" title="annotation in org.apache.juneau.annotation"><code>@Beanp</code></a> annotation can also be used to expose a non-public method.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a public bean getter/setter to ignore it as a bean property.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanMethodVisibility"><code>BeanContext.BEAN_beanMethodVisibility</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beanMethodVisibility-org.apache.juneau.Visibility-">beanMethodVisibility</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/Visibility.html#PUBLIC"><code>Visibility.PUBLIC</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beansDontRequireSomeProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beansDontRequireSomeProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.286">beansDontRequireSomeProperties</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansDontRequireSomeProperties--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require at least one property.
<p>
When enabled, then a Java class must contain at least 1 property to be considered a bean.
Otherwise, the bean will be serialized as a string using the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a> method.
<p>
The <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation can be used on a class to override this setting when <jk>true</jk>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with no properties.</jc>
<jk>public class</jk> MyBean {
}
<jc>// Create a serializer that serializes beans even if they have zero properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beansDontRequireSomeProperties()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beansRequireSomeProperties</jsf>, <jk>false</jk>)
.build();
<jc>// Produces: {}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation can be used on the class to force it to be recognized as a bean class
even if it has no properties.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beansRequireSomeProperties"><code>BeanContext.BEAN_beansRequireSomeProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beansDontRequireSomeProperties--">beansDontRequireSomeProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beansRequireDefaultConstructor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beansRequireDefaultConstructor</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.292">beansRequireDefaultConstructor</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireDefaultConstructor--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require no-arg constructors.
<p>
When enabled, a Java class must implement a default no-arg constructor to be considered a bean.
Otherwise, the bean will be serialized as a string using the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a> method.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean without a no-arg constructor.</jc>
<jk>public class</jk> MyBean {
<jc>// A property method.</jc>
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
<jc>// A no-arg constructor</jc>
<jk>public</jk> MyBean(String foo) {
<jk>this</jk>.<jf>foo</jf> = foo;
}
<ja>@Override</ja>
<jk>public</jk> String toString() {
<jk>return</jk> <js>"bar"</js>;
}
}
<jc>// Create a serializer that ignores beans without default constructors.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beansRequireDefaultConstructor()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beansRequireDefaultConstructor</jsf>, <jk>true</jk>)
.build();
<jc>// Produces: "bar"</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation can be used on a bean class to override this setting.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a class to ignore it as a bean.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beansRequireDefaultConstructor"><code>BeanContext.BEAN_beansRequireDefaultConstructor</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beansRequireDefaultConstructor--">beansRequireDefaultConstructor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beansRequireSerializable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beansRequireSerializable</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.298">beansRequireSerializable</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSerializable--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require Serializable interface.
<p>
When enabled, a Java class must implement the <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface to be considered a bean.
Otherwise, the bean will be serialized as a string using the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a> method.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean without a Serializable interface.</jc>
<jk>public class</jk> MyBean {
<jc>// A property method.</jc>
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
<ja>@Override</ja>
<jk>public</jk> String toString() {
<jk>return</jk> <js>"bar"</js>;
}
}
<jc>// Create a serializer that ignores beans not implementing Serializable.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beansRequireSerializable()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beansRequireSerializable</jsf>, <jk>true</jk>)
.build();
<jc>// Produces: "bar"</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotation can be used on a bean class to override this setting.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on a class to ignore it as a bean.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beansRequireSerializable"><code>BeanContext.BEAN_beansRequireSerializable</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beansRequireSerializable--">beansRequireSerializable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="beansRequireSettersForGetters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beansRequireSettersForGetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.304">beansRequireSettersForGetters</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSettersForGetters--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Beans require setters for getters.
<p>
When enabled, ignore read-only properties (properties with getters but not setters).
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean without a Serializable interface.</jc>
<jk>public class</jk> MyBean {
<jc>// A read/write property.</jc>
<jk>public</jk> String getFoo() { <jk>return</jk> <js>"foo"</js>; }
<jk>public void</jk> setFoo(String foo) { ... }
<jc>// A read-only property.</jc>
<jk>public</jk> String getBar() { <jk>return</jk> <js>"bar"</js>; }
}
<jc>// Create a serializer that ignores bean properties without setters.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.beansRequireSettersForGetters()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_beansRequireSettersForGetters</jsf>, <jk>true</jk>)
.build();
<jc>// Produces: {"foo":"foo"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanp.html" title="annotation in org.apache.juneau.annotation"><code>@Beanp</code></a> annotation can be used on the getter to override this setting.
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on getters to ignore them as bean properties.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beansRequireSettersForGetters"><code>BeanContext.BEAN_beansRequireSettersForGetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#beansRequireSettersForGetters--">beansRequireSettersForGetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpi-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.310">bpi</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpi-java.util.Map-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property includes.
<p>
Specifies the set and order of names of properties associated with bean classes.
<p>
For example, <c>bpi(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"foo,bar"</js>))</c> means only serialize the <c>foo</c> and
<c>bar</c> properties on the specified bean. Likewise, parsing will ignore any bean properties not specified
and either throw an exception or silently ignore them depending on whether <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties--"><code>BeanContextBuilder.ignoreUnknownBeanProperties()</code></a>
has been called.
<p>
This value is entirely optional if you simply want to expose all the getters and public fields on
a class as bean properties. However, it's useful if you want certain getters to be ignored or you want the properties to be
serialized in a particular order. Note that on IBM JREs, the property order is the same as the order in the source code,
whereas on Oracle JREs, the order is entirely random.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that includes only the 'foo' and 'bar' properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpi(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"foo,bar"</js>))
.build();
<jc>// Produces: {"foo":"foo","bar":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code for each entry:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(key).bpi(value.toString()));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpi--"><code>Bean.bpi()</code></a> - On an annotation on the bean class itself.
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpi--"><code>BeanConfig.bpi()</code></a> - On a bean config annotation (see <a href="../../../../org/apache/juneau/BeanContextBuilder.html#annotations-java.lang.annotation.Annotation...-"><code>BeanContextBuilder.annotations(Annotation...)</code></a>).
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpi-java.util.Map-">bpi</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this builder.
<br>Keys are bean class names which can be a simple name, fully-qualified name, or <js>"*"</js> for all beans.
<br>Values are comma-delimited lists of property names. Non-String objects are first converted to Strings.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpi-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.316">bpi</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpi-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property includes.
<p>
Specifies the set and order of names of properties associated with the bean class.
<p>
For example, <c>bpi(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)</c> means only serialize the <c>foo</c> and
<c>bar</c> properties on the specified bean. Likewise, parsing will ignore any bean properties not specified
and either throw an exception or silently ignore them depending on whether <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties--"><code>BeanContextBuilder.ignoreUnknownBeanProperties()</code></a>
has been called.
<p>
This value is entirely optional if you simply want to expose all the getters and public fields on
a class as bean properties. However, it's useful if you want certain getters to be ignored or you want the properties to be
serialized in a particular order. Note that on IBM JREs, the property order is the same as the order in the source code,
whereas on Oracle JREs, the order is entirely random.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that includes only the 'foo' and 'bar' properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpi(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)
.build();
<jc>// Produces: {"foo":"foo","bar":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClass.getName()).bpi(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpi--"><code>Bean.bpi()</code></a> - On an annotation on the bean class itself.
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpi--"><code>BeanConfig.bpi()</code></a> - On a bean config annotation (see <a href="../../../../org/apache/juneau/BeanContextBuilder.html#annotations-java.lang.annotation.Annotation...-"><code>BeanContextBuilder.annotations(Annotation...)</code></a>).
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpi-java.lang.Class-java.lang.String-">bpi</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClass</code> - The bean class.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpi-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpi</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.322">bpi</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpi-java.lang.String-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property includes.
<p>
Specifies the set and order of names of properties associated with the bean class.
<p>
For example, <c>bpi(<js>"MyBean"</js>, <js>"foo,bar"</js>)</c> means only serialize the <c>foo</c> and
<c>bar</c> properties on the specified bean. Likewise, parsing will ignore any bean properties not specified
and either throw an exception or silently ignore them depending on whether <a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties--"><code>BeanContextBuilder.ignoreUnknownBeanProperties()</code></a>
has been called.
<p>
This value is entirely optional if you simply want to expose all the getters and public fields on
a class as bean properties. However, it's useful if you want certain getters to be ignored or you want the properties to be
serialized in a particular order. Note that on IBM JREs, the property order is the same as the order in the source code,
whereas on Oracle JREs, the order is entirely random.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that includes only the 'foo' and 'bar' properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpi(<js>"MyBean"</js>, <js>"foo,bar"</js>)
.build();
<jc>// Produces: {"foo":"foo","bar":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClassName).bpi(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpi--"><code>Bean.bpi()</code></a> - On an annotation on the bean class itself.
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpi--"><code>BeanConfig.bpi()</code></a> - On a bean config annotation (see <a href="../../../../org/apache/juneau/BeanContextBuilder.html#annotations-java.lang.annotation.Annotation...-"><code>BeanContextBuilder.annotations(Annotation...)</code></a>).
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpi-java.lang.String-java.lang.String-">bpi</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClassName</code> - The bean class name.
<br>Can be a simple name, fully-qualified name, or <js>"*"</js> for all beans.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpro-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpro</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.328">bpro</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpro-java.util.Map-">BeanContextBuilder</a></code></span></div>
<div class="block">Read-only bean properties.
<p>
Specifies one or more properties on beans that are read-only despite having valid getters.
Serializers will serialize such properties as usual, but parsers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with read-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpro(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"bar,baz"</js>))
.build();
<jc>// All 3 properties will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with read-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpro(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"bar,baz"</js>))
.ignoreUnknownBeanProperties()
.build();
<jc>// Parser ignores bar and baz properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code for each entry:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(key).bpro(value.toString()));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpro--"><code>BeanConfig.bpro()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpro--"><code>Bean.bpro()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpro-java.util.Map-">bpro</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this builder.
<br>Keys are bean class names which can be a simple name, fully-qualified name, or <js>"*"</js> for all beans.
<br>Values are comma-delimited lists of property names. Non-String objects are first converted to Strings.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpro-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpro</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.334">bpro</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpro-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Read-only bean properties.
<p>
Specifies one or more properties on a bean that are read-only despite having valid getters.
Serializers will serialize such properties as usual, but parsers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with read-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpro(MyBean.<jk>class</jk>, <js>"bar,baz"</js>)
.build();
<jc>// All 3 properties will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with read-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpro(MyBean.<jk>class</jk>, <js>"bar,baz"</js>)
.ignoreUnknownBeanProperties()
.build();
<jc>// Parser ignores bar and baz properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClass.getName()).bpro(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpro--"><code>BeanConfig.bpro()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpro--"><code>Bean.bpro()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpro-java.lang.Class-java.lang.String-">bpro</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClass</code> - The bean class.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpro-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpro</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.340">bpro</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpro-java.lang.String-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Read-only bean properties.
<p>
Specifies one or more properties on a bean that are read-only despite having valid getters.
Serializers will serialize such properties as usual, but parsers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with read-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpro(<js>"MyBean"</js>, <js>"bar,baz"</js>)
.build();
<jc>// All 3 properties will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with read-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpro(<js>"MyBean"</js>, <js>"bar,baz"</js>)
.ignoreUnknownBeanProperties()
.build();
<jc>// Parser ignores bar and baz properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClass.getName).bpro(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpro--"><code>BeanConfig.bpro()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpro--"><code>Bean.bpro()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpro-java.lang.String-java.lang.String-">bpro</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClassName</code> - The bean class name.
<br>Can be a simple name, fully-qualified name, or <js>"*"</js> for all bean classes.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpwo-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpwo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.346">bpwo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpwo-java.util.Map-">BeanContextBuilder</a></code></span></div>
<div class="block">Write-only bean properties.
<p>
Specifies one or more properties on a bean that are write-only despite having valid setters.
Parsers will parse such properties as usual, but serializers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with write-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpwo(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"bar,baz"</js>))
.build();
<jc>// Only foo will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with write-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpwo(AMap.<jsm>of</jsm>(<js>"MyBean"</js>, <js>"bar,baz"</js>))
.build();
<jc>// Parser parses all 3 properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code for each entry:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(key).bpwo(value.toString()));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpwo--"><code>BeanConfig.bpwo()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpwo--"><code>Bean.bpwo()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpwo-java.util.Map-">bpwo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this builder.
<br>Keys are bean class names which can be a simple name, fully-qualified name, or <js>"*"</js> for all beans.
<br>Values are comma-delimited lists of property names. Non-String objects are first converted to Strings.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpwo-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpwo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.352">bpwo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpwo-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Write-only bean properties.
<p>
Specifies one or more properties on a bean that are write-only despite having valid setters.
Parsers will parse such properties as usual, but serializers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with write-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpwo(MyBean.<jk>class</jk>, <js>"bar,baz"</js>)
.build();
<jc>// Only foo will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with write-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpwo(MyBean.<jk>class</jk>, <js>"bar,baz"</js>)
.build();
<jc>// Parser parses all 3 properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClass.getName).bpwo(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpwo--"><code>BeanConfig.bpwo()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpwo--"><code>Bean.bpwo()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpwo-java.lang.Class-java.lang.String-">bpwo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClass</code> - The bean class.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpwo-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpwo</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.358">bpwo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpwo-java.lang.String-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Write-only bean properties.
<p>
Specifies one or more properties on a bean that are write-only despite having valid setters.
Parsers will parse such properties as usual, but serializers will silently ignore them.
Note that this is different from the <l>bpi</l>/<l>bpx</l> settings which include or exclude properties
for both serializers and parsers.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>, <jf>bar</jf>, <jf>baz</jf>;
}
<jc>// Create a serializer with write-only property settings.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpwo(<js>"MyBean"</js>, <js>"bar,baz"</js>)
.build();
<jc>// Only foo will be serialized.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a parser with write-only property settings.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.bpwo(<js>"MyBean"</js>, <js>"bar,baz"</js>)
.build();
<jc>// Parser parses all 3 properties.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar',baz:'baz'}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClassName).bpwo(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpwo--"><code>BeanConfig.bpwo()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpwo--"><code>Bean.bpwo()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpwo-java.lang.String-java.lang.String-">bpwo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClassName</code> - The bean class name.
<br>Can be a simple name, fully-qualified name, or <js>"*"</js> for all bean classes.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpx-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpx</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.364">bpx</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpx-java.util.Map-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property excludes.
<p>
Specifies to exclude the specified list of properties for the specified bean classes.
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpi-java.util.Map-"><code>BeanContextBuilder.bpi(Map)</code></a> except you specify a list of bean property names that you want to exclude from
serialization.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that excludes the "bar" and "baz" properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpx(AMap.of(<js>"MyBean"</js>, <js>"bar,baz"</js>))
.build();
<jc>// Produces: {"foo":"foo"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code for each entry:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(key).bpx(value.toString()));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpx--"><code>BeanConfig.bpx()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpx--"><code>Bean.bpx()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpx-java.util.Map-">bpx</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this builder.
<br>Keys are bean class names which can be a simple name, fully-qualified name, or <js>"*"</js> for all beans.
<br>Values are comma-delimited lists of property names. Non-String objects are first converted to Strings.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpx-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpx</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.370">bpx</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;beanClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpx-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property excludes.
<p>
Specifies to exclude the specified list of properties for the specified bean class.
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpi-java.lang.Class-java.lang.String-"><code>BeanContextBuilder.bpi(Class, String)</code></a> except you specify a list of bean property names that you want to exclude from
serialization.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that excludes the "bar" and "baz" properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpx(MyBean.<jk>class</jk>, <js>"bar,baz"</js>)
.build();
<jc>// Produces: {"foo":"foo"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClass.getName()).bpx(properties));
</p>
<ul class='seealso'>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/BeanConfig.html#bpx--"><code>BeanConfig.bpx()</code></a>
<li class='jm'><a href="../../../../org/apache/juneau/annotation/Bean.html#bpx--"><code>Bean.bpx()</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpx-java.lang.Class-java.lang.String-">bpx</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClass</code> - The bean class.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="bpx-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bpx</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.376">bpx</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;beanClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpx-java.lang.String-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property excludes.
<p>
Specifies to exclude the specified list of properties for the specified bean class.
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#bpx-java.lang.String-java.lang.String-"><code>BeanContextBuilder.bpx(String, String)</code></a> except you specify a list of bean property names that you want to exclude from
serialization.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String
<jf>foo</jf> = <js>"foo"</js>,
<jf>bar</jf> = <js>"bar"</js>,
<jf>baz</jf> = <js>"baz"</js>;
}
<jc>// Create a serializer that excludes the "bar" and "baz" properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.bpx(<js>"MyBean"</js>, <js>"bar,baz"</js>)
.build();
<jc>// Produces: {"foo":"foo"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<p>
This method is functionally equivalent to the following code:
<p class='bcode w800'>
builder.annotations(<jk>new</jk> BeanAnnotation(beanClassName).bpx(properties));
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#bpx-java.lang.String-java.lang.String-">bpx</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beanClassName</code> - The bean class name.
<br>Can be a simple name, fully-qualified name, or <js>"*"</js> for all bean classes.</dd>
<dd><code>properties</code> - Comma-delimited list of property names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dictionary-java.lang.Object...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dictionary</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.382">dictionary</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dictionary-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean dictionary.
<p>
The list of classes that make up the bean dictionary in this bean context.
<p>
A dictionary is a name/class mapping used to find class types during parsing when they cannot be inferred
through reflection. The names are defined through the <a href="../../../../org/apache/juneau/annotation/Bean.html#typeName--"><code>@Bean(typeName)</code></a> annotation defined
on the bean class. For example, if a class <c>Foo</c> has a type-name of <js>"myfoo"</js>, then it would end up
serialized as <js>"{_type:'myfoo',...}"</js> in JSON (depending on <l>addBeanTypes</l>/<l>addRootType</l> properties)
or <js>"&lt;myfoo&gt;...&lt;/myfoo&gt;"</js> in XML.
<p>
This setting tells the parsers which classes to look for when resolving <js>"_type"</js> attributes.
<p>
Values can consist of any of the following types:
<ul>
<li>Any bean class that specifies a value for <a href="../../../../org/apache/juneau/annotation/Bean.html#typeName--"><code>@Bean(typeName)</code></a>.
<li>Any subclass of <a href="../../../../org/apache/juneau/BeanDictionaryList.html" title="class in org.apache.juneau"><code>BeanDictionaryList</code></a> containing a collection of bean classes with type name annotations.
<li>Any subclass of <a href="../../../../org/apache/juneau/BeanDictionaryMap.html" title="class in org.apache.juneau"><code>BeanDictionaryMap</code></a> containing a mapping of type names to classes without type name annotations.
<li>Any array or collection of the objects above.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// POJOs with @Bean(name) annotations.</jc>
<ja>@Bean</ja>(typeName=<js>"foo"</js>)
<jk>public class</jk> Foo {...}
<ja>@Bean</ja>(typeName=<js>"bar"</js>)
<jk>public class</jk> Bar {...}
<jc>// Create a parser and tell it which classes to try to resolve.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.dictionary(Foo.<jk>class</jk>, Bar.<jk>class</jk>)
.addBeanTypes()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_beanDictionary</jsf>, Foo.<jk>class</jk>)
.addTo(<jsf>BEAN_beanDictionary</jsf>, Bar.<jk>class</jk>)
.set(<jsf>SERIALIZER_addBeanTypes</jsf>, <jk>true</jk>)
.build();
<jc>// A bean with a field with an indeterminate type.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>mySimpleField</jf>;
}
<jc>// Parse bean.</jc>
MyBean b = p.parse(<js>"{mySimpleField:{_type:'foo',...}}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
Another option is to use the <a href="../../../../org/apache/juneau/annotation/Bean.html#dictionary--"><code>Bean.dictionary()</code></a> annotation on the POJO class itself:
<p class='bcode w800'>
<jc>// Instead of by parser, define a bean dictionary on a class through an annotation.</jc>
<jc>// This applies to all properties on this class and all subclasses.</jc>
<ja>@Bean</ja>(dictionary={Foo.<jk>class</jk>,Bar.<jk>class</jk>})
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>mySimpleField</jf>; <jc>// May contain Foo or Bar object.</jc>
<jk>public</jk> Map&lt;String,Object&gt; <jf>myMapField</jf>; <jc>// May contain Foo or Bar objects.</jc>
}
</p>
<p>
A typical usage is to allow for HTML documents to be parsed back into HTML beans:
<p class='bcode w800'>
<jc>// Use the predefined HTML5 bean dictionary which is a BeanDictionaryList.</jc>
ReaderParser p = HtmlParser
.<jsm>create</jsm>()
.dictionary(HtmlBeanDictionary.<jk>class</jk>)
.build();
<jc>// Parse an HTML body into HTML beans.</jc>
Body body = p.parse(<js>"&lt;body&gt;&lt;ul&gt;&lt;li&gt;foo&lt;/li&gt;&lt;li&gt;bar&lt;/li&gt;&lt;/ul&gt;"</js>, Body.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanDictionary"><code>BeanContext.BEAN_beanDictionary</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dictionary-java.lang.Object...-">dictionary</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dictionaryOn-java.lang.Class-java.lang.Class...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dictionaryOn</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.388">dictionaryOn</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dictionaryOn-java.lang.Class-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean dictionary.
<p>
This is identical to <a href="../../../../org/apache/juneau/BeanContextBuilder.html#dictionary-java.lang.Object...-"><code>BeanContextBuilder.dictionary(Object...)</code></a>, but specifies a dictionary within the context of
a single class as opposed to globally.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// POJOs with @Bean(name) annotations.</jc>
<ja>@Bean</ja>(typeName=<js>"foo"</js>)
<jk>public class</jk> Foo {...}
<ja>@Bean</ja>(typeName=<js>"bar"</js>)
<jk>public class</jk> Bar {...}
<jc>// A bean with a field with an indeterminate type.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>mySimpleField</jf>;
}
<jc>// Create a parser and tell it which classes to try to resolve.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.dictionaryOn(MyBean.class, Foo.<jk>class</jk>, Bar.<jk>class</jk>)
.build();
<jc>// Parse bean.</jc>
MyBean b = p.parse(<js>"{mySimpleField:{_type:'foo',...}}"</js>, MyBean.<jk>class</jk>);
</p>
<p>
This is functionally equivalent to the <a href="../../../../org/apache/juneau/annotation/Bean.html#dictionary--"><code>Bean.dictionary()</code></a> annotation.
<ul class='seealso'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#dictionary--"><code>Bean.dictionary()</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanDictionary"><code>BeanContext.BEAN_beanDictionary</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dictionaryOn-java.lang.Class-java.lang.Class...-">dictionaryOn</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class that the dictionary values apply to.</dd>
<dd><code>values</code> - The new values for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dontIgnorePropertiesWithoutSetters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontIgnorePropertiesWithoutSetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.394">dontIgnorePropertiesWithoutSetters</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dontIgnorePropertiesWithoutSetters--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore properties without setters.
<p>
When enabled, trying to set a value on a bean property without a setter will silently be ignored.
Otherwise, a <code>BeanRuntimeException</code> is thrown.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a property with a getter but not a setter.</jc>
<jk>public class</jk> MyBean {
<jk>public void</jk> getFoo() {
<jk>return</jk> <js>"foo"</js>;
}
}
<jc>// Create a parser that throws an exception if a setter is not found but a getter is.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.dontIgnorePropertiesWithoutSetters()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignorePropertiesWithoutSetters</jsf>, <jk>false</jk>)
.build();
<jc>// Throws a ParseException.</jc>
MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on getters and fields to ignore them.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignorePropertiesWithoutSetters"><code>BeanContext.BEAN_ignorePropertiesWithoutSetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dontIgnorePropertiesWithoutSetters--">dontIgnorePropertiesWithoutSetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dontIgnoreTransientFields--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontIgnoreTransientFields</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.400">dontIgnoreTransientFields</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dontIgnoreTransientFields--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore transient fields.
<p>
When enabled, methods and fields marked as <jk>transient</jk> will be ignored as bean properties.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a transient field.</jc>
<jk>public class</jk> MyBean {
<jk>public transient</jk> String <jf>foo</jf> = <js>"foo"</js>;
}
<jc>// Create a parser that doesn't ignore transient fields.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.dontIgnoreTransientFields()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignoreTransientFields</jsf>, <jk>false</jk>)
.build();
<jc>// Produces: {"foo":"foo"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanp.html" title="annotation in org.apache.juneau.annotation"><code>@Beanp</code></a> annotation can also be used on transient fields to keep them from being ignored.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreTransientFields"><code>BeanContext.BEAN_ignoreTransientFields</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dontIgnoreTransientFields--">dontIgnoreTransientFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dontIgnoreUnknownNullBeanProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontIgnoreUnknownNullBeanProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.406">dontIgnoreUnknownNullBeanProperties</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dontIgnoreUnknownNullBeanProperties--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore unknown properties with null values.
<p>
When enabled, trying to set a <jk>null</jk> value on a non-existent bean property will silently be ignored.
Otherwise, a <code>BeanRuntimeException</code> is thrown.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>;
}
<jc>// Create a parser that throws an exception on an unknown property even if the value being set is null.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.dontIgnoreUnknownNullBeanProperties()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignoreUnknownNullBeanProperties</jsf>, <jk>false</jk>)
.build();
<jc>// Throws a BeanRuntimeException wrapped in a ParseException on the unknown 'bar' property.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:null}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreUnknownNullBeanProperties"><code>BeanContext.BEAN_ignoreUnknownNullBeanProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dontIgnoreUnknownNullBeanProperties--">dontIgnoreUnknownNullBeanProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="dontUseInterfaceProxies--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontUseInterfaceProxies</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.412">dontUseInterfaceProxies</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#dontUseInterfaceProxies--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use interface proxies.
<p>
When enabled, interfaces will be instantiated as proxy classes through the use of an
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect"><code>InvocationHandler</code></a> if there is no other way of instantiating them.
Otherwise, throws a <a href="../../../../org/apache/juneau/BeanRuntimeException.html" title="class in org.apache.juneau"><code>BeanRuntimeException</code></a>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// An interface with a single getter.</jc>
<jk>public interface</jk> MyBean {
String getFoo();
<jk>void</jk> setFoo(String foo);
}
<jc>// Create a parser that uses interface proxies.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_useInterfaceProxies</jsf>, <jk>true</jk>)
.build();
<jc>// Creates a proxy implementation of a MyBean interface.</jc>
MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_useInterfaceProxies"><code>BeanContext.BEAN_useInterfaceProxies</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#dontUseInterfaceProxies--">dontUseInterfaceProxies</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="example-java.lang.Class-java.lang.Object-">
<!-- -->
</a><a name="example-java.lang.Class-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>example</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.418">example</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;pojoClass,
T&nbsp;o)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#example-java.lang.Class-T-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> POJO example.
<p>
Specifies an example of the specified class.
<p>
Examples are used in cases such as POJO examples in Swagger documents.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that excludes the 'foo' and 'bar' properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.example(MyBean.<jk>class</jk>, <jk>new</jk> MyBean().foo(<js>"foo"</js>).bar(123))
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_examples</jsf>, MyBean.<jk>class</jk>.getName(), <jk>new</jk> MyBean().foo(<js>"foo"</js>).bar(123))
.build();
</p>
<p>
POJO examples can also be defined on classes via the following:
<ul class='spaced-list'>
<li>A static field annotated with <a href="../../../../org/apache/juneau/annotation/Example.html" title="annotation in org.apache.juneau.annotation"><code>@Example</code></a>.
<li>A static method annotated with <a href="../../../../org/apache/juneau/annotation/Example.html" title="annotation in org.apache.juneau.annotation"><code>@Example</code></a> with zero arguments or one <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><code>BeanSession</code></a> argument.
<li>A static method with name <c>example</c> with no arguments or one <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><code>BeanSession</code></a> argument.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_examples"><code>BeanContext.BEAN_examples</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#example-java.lang.Class-T-">example</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pojoClass</code> - The POJO class.</dd>
<dd><code>o</code> - An instance of the POJO class used for examples.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="exampleJson-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exampleJson</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.424">exampleJson</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;pojoClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;json)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#exampleJson-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> POJO example.
<p>
Specifies an example in JSON of the specified class.
<p>
Examples are used in cases such as POJO examples in Swagger documents.
<p>
Setting applies to specified class and all subclasses.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that excludes the 'foo' and 'bar' properties on the MyBean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.example(MyBean.<jk>class</jk>, <js>"{foo:'bar'}"</js>)
.build();
</p>
<p>
POJO examples can also be defined on classes via the following:
<ul class='spaced-list'>
<li>A static field annotated with <a href="../../../../org/apache/juneau/annotation/Example.html" title="annotation in org.apache.juneau.annotation"><code>@Example</code></a>.
<li>A static method annotated with <a href="../../../../org/apache/juneau/annotation/Example.html" title="annotation in org.apache.juneau.annotation"><code>@Example</code></a> with zero arguments or one <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><code>BeanSession</code></a> argument.
<li>A static method with name <c>example</c> with no arguments or one <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><code>BeanSession</code></a> argument.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_examples"><code>BeanContext.BEAN_examples</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#exampleJson-java.lang.Class-java.lang.String-">exampleJson</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The POJO class type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pojoClass</code> - The POJO class.</dd>
<dd><code>json</code> - The simple JSON representation of the example.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="fluentSetters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fluentSetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.430">fluentSetters</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#fluentSetters--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Find fluent setters.
<p>
When enabled, fluent setters are detected on beans during parsing.
<p>
Fluent setters must have the following attributes:
<ul>
<li>Public.
<li>Not static.
<li>Take in one parameter.
<li>Return the bean itself.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a fluent setter.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> MyBean foo(String value) {...}
}
<jc>// Create a parser that finds fluent setters.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.fluentSetters()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_fluentSetters</jsf>, <jk>true</jk>)
.build();
<jc>// Parse into bean using fluent setter.</jc>
MyBean b = p.parse(<js>"{foo:'bar'}"</js>);
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Beanp.html" title="annotation in org.apache.juneau.annotation"><code>@Beanp</code></a> annotation can also be used on methods to individually identify them as fluent setters.
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html#fluentSetters--"><code>@Bean.fluentSetters()</code></a> annotation can also be used on classes to specify to look for fluent setters.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_fluentSetters"><code>BeanContext.BEAN_fluentSetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#fluentSetters--">fluentSetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="fluentSetters-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fluentSetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.436">fluentSetters</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#fluentSetters-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Find fluent setters.
<p>
Identical to <a href="../../../../org/apache/juneau/BeanContextBuilder.html#fluentSetters--"><code>BeanContextBuilder.fluentSetters()</code></a> but enables it on a specific class only.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a fluent setter.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> MyBean foo(String value) {...}
}
<jc>// Create a parser that finds fluent setters.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.fluentSetters(MyBean.<jk>class</jk>)
.build();
<jc>// Parse into bean using fluent setter.</jc>
MyBean b = p.parse(<js>"{foo:'bar'}"</js>);
</p>
<ul class='notes'>
<li>This method is functionally equivalent to using the <a href="../../../../org/apache/juneau/annotation/Bean.html#fluentSetters--"><code>Bean.fluentSetters()</code></a> annotation.
</ul>
<ul class='seealso'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#fluentSetters--"><code>Bean.fluentSetters()</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_fluentSetters"><code>BeanContext.BEAN_fluentSetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#fluentSetters-java.lang.Class-">fluentSetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class that this applies to.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ignoreInvocationExceptionsOnGetters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignoreInvocationExceptionsOnGetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.442">ignoreInvocationExceptionsOnGetters</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnGetters--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore invocation errors on getters.
<p>
When enabled, errors thrown when calling bean getter methods will silently be ignored.
Otherwise, a <code>BeanRuntimeException</code> is thrown.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a property that throws an exception.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String getFoo() {
<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
}
}
<jc>// Create a serializer that ignores bean getter exceptions.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.ingoreInvocationExceptionsOnGetters()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignoreInvocationExceptionsOnGetters</jsf>, <jk>true</jk>)
.build();
<jc>// Exception is ignored.</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreInvocationExceptionsOnGetters"><code>BeanContext.BEAN_ignoreInvocationExceptionsOnGetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ignoreInvocationExceptionsOnGetters--">ignoreInvocationExceptionsOnGetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ignoreInvocationExceptionsOnSetters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignoreInvocationExceptionsOnSetters</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.448">ignoreInvocationExceptionsOnSetters</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnSetters--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore invocation errors on setters.
<p>
When enabled, errors thrown when calling bean setter methods will silently be ignored.
Otherwise, a <code>BeanRuntimeException</code> is thrown.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a property that throws an exception.</jc>
<jk>public class</jk> MyBean {
<jk>public void</jk> setFoo(String foo) {
<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
}
}
<jc>// Create a parser that ignores bean setter exceptions.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.ignoreInvocationExceptionsOnSetters()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignoreInvocationExceptionsOnSetters</jsf>, <jk>true</jk>)
.build();
<jc>// Exception is ignored.</jc>
MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreInvocationExceptionsOnSetters"><code>BeanContext.BEAN_ignoreInvocationExceptionsOnSetters</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ignoreInvocationExceptionsOnSetters--">ignoreInvocationExceptionsOnSetters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ignoreUnknownBeanProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignoreUnknownBeanProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.454">ignoreUnknownBeanProperties</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Ignore unknown properties.
<p>
When enabled, trying to set a value on a non-existent bean property will silently be ignored.
Otherwise, a <code>BeanRuntimeException</code> is thrown.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf>;
}
<jc>// Create a parser that ignores missing bean properties.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.ignoreUnknownBeanProperties()
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
.build();
<jc>// Doesn't throw an exception on unknown 'bar' property.</jc>
MyBean b = p.parse(<js>"{foo:'foo',bar:'bar'}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreUnknownBeanProperties"><code>BeanContext.BEAN_ignoreUnknownBeanProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ignoreUnknownBeanProperties--">ignoreUnknownBeanProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="implClass-java.lang.Class-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>implClass</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.460">implClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;interfaceClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;implClass)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#implClass-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Implementation classes.
<p>
For interfaces and abstract classes this method can be used to specify an implementation class for the
interface/abstract class so that instances of the implementation class are used when instantiated (e.g. during a
parse).
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean interface.</jc>
<jk>public interface</jk> MyBean {
...
}
<jc>// A bean implementation.</jc>
<jk>public class</jk> MyBeanImpl <jk>implements</jk> MyBean {
...
}
<jc>// Create a parser that instantiates MyBeanImpls when parsing MyBeans.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.implClass(MyBean.<jk>class</jk>, MyBeanImpl.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_implClasses</jsf>, MyBean.<jk>class</jk>.getName(), MyBeanImpl.<jk>class</jk>)
.build();
<jc>// Instantiates a MyBeanImpl,</jc>
MyBean b = p.parse(<js>"..."</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_implClasses"><code>BeanContext.BEAN_implClasses</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#implClass-java.lang.Class-java.lang.Class-">implClass</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interfaceClass</code> - The interface class.</dd>
<dd><code>implClass</code> - The implementation class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="implClasses-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>implClasses</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.466">implClasses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&gt;&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#implClasses-java.util.Map-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Implementation classes.
<p>
For interfaces and abstract classes this method can be used to specify an implementation class for the
interface/abstract class so that instances of the implementation class are used when instantiated (e.g. during a
parse).
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public interface</jk> MyBean {
...
}
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBeanImpl <jk>implements</jk> MyBean {
...
}
<jc>// Create a parser that instantiates MyBeanImpls when parsing MyBeans.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.implClasses(AMap.<jsm>of</jsm>(MyBean.<jk>class</jk>, MyBeanImpl.<jk>class</jk>))
.build();
<jc>// Same, but use property.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_implClasses</jsf>, AMap.<jsm>of</jsm>(MyBean.<jk>class</jk>.getName(), MyBeanImpl.<jk>class</jk>))
.build();
<jc>// Instantiates a MyBeanImpl,</jc>
MyBean b = p.parse(<js>"..."</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_implClasses"><code>BeanContext.BEAN_implClasses</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#implClasses-java.util.Map-">implClasses</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="interfaceClass-java.lang.Class-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interfaceClass</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.472">interfaceClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#interfaceClass-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block">Identifies a class to be used as the interface class for the specified class and all subclasses.
<p>
When specified, only the list of properties defined on the interface class will be used during serialization.
Additional properties on subclasses will be ignored.
<p class='bcode w800'>
<jc>// Parent class or interface</jc>
<jk>public abstract class</jk> A {
<jk>public</jk> String <jf>foo</jf> = <js>"foo"</js>;
}
<jc>// Sub class</jc>
<jk>public class</jk> A1 <jk>extends</jk> A {
<jk>public</jk> String <jf>bar</jf> = <js>"bar"</js>;
}
<jc>// Create a serializer and define our interface class mapping.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.interfaceClass(A1.<jk>class</jk>, A.<jk>class</jk>)
.build();
<jc>// Produces "{"foo":"foo"}"</jc>
String json = s.serialize(<jk>new</jk> A1());
</p>
<p>
This annotation can be used on the parent class so that it filters to all child classes, or can be set
individually on the child classes.
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html#interfaceClass--"><code>@Bean(interfaceClass)</code></a> annotation is the equivalent annotation-based solution.
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#interfaceClass-java.lang.Class-java.lang.Class-">interfaceClass</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class that the interface class applies to.</dd>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="interfaces-java.lang.Class...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interfaces</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.478">interfaces</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#interfaces-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
<div class="block">Identifies a set of interfaces.
<p>
When specified, only the list of properties defined on the interface class will be used during serialization
of implementation classes. Additional properties on subclasses will be ignored.
<p class='bcode w800'>
<jc>// Parent class or interface</jc>
<jk>public abstract class</jk> A {
<jk>public</jk> String <jf>foo</jf> = <js>"foo"</js>;
}
<jc>// Sub class</jc>
<jk>public class</jk> A1 <jk>extends</jk> A {
<jk>public</jk> String <jf>bar</jf> = <js>"bar"</js>;
}
<jc>// Create a serializer and define our interface class mapping.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.interfaces(A.<jk>class</jk>)
.build();
<jc>// Produces "{"foo":"foo"}"</jc>
String json = s.serialize(<jk>new</jk> A1());
</p>
<p>
This annotation can be used on the parent class so that it filters to all child classes, or can be set
individually on the child classes.
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html#interfaceClass--"><code>@Bean(interfaceClass)</code></a> annotation is the equivalent annotation-based solution.
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#interfaces-java.lang.Class...-">interfaces</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="notBeanClasses-java.lang.Object...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notBeanClasses</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.484">notBeanClasses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClasses-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean class exclusions.
<p>
List of classes that should not be treated as beans even if they appear to be bean-like.
Not-bean classes are converted to <c>Strings</c> during serialization.
<p>
Values can consist of any of the following types:
<ul>
<li>Classes.
<li>Arrays and collections of classes.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
<jk>public</jk> String toString() {
<jk>return</jk> <js>"baz"</js>;
}
}
<jc>// Create a serializer that doesn't treat MyBean as a bean class.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.notBeanClasses(MyBean.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_notBeanClasses</jsf>, MyBean.<jk>class</jk>)
.build();
<jc>// Produces "baz" instead of {"foo":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><code>@BeanIgnore</code></a> annotation can also be used on classes to prevent them from being recognized as beans.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_notBeanClasses"><code>BeanContext.BEAN_notBeanClasses</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#notBeanClasses-java.lang.Object...-">notBeanClasses</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this property.
<br>Values can consist of any of the following types:
<ul>
<li>Classes.
<li>Arrays and collections of classes.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="notBeanPackages-java.lang.Object...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notBeanPackages</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.490">notBeanPackages</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#notBeanPackages-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean package exclusions.
<p>
Used as a convenient way of defining the <a href="../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClasses-java.lang.Object...-"><code>BeanContextBuilder.notBeanClasses(Object...)</code></a> property for entire packages.
Any classes within these packages will be serialized to strings using <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a>.
<p>
Note that you can specify suffix patterns to include all subpackages.
<p>
Values can consist of any of the following types:
<ul>
<li>Strings.
<li>Arrays and collections of strings.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that ignores beans in the specified packages.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.notBeanPackages(<js>"org.apache.foo"</js>, <js>"org.apache.bar.*"</js>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_notBeanPackages</jsf>, <js>"org.apache.foo"</js>)
.addTo(<jsf>BEAN_notBeanPackages</jsf>, <js>"org.apache.bar.*"</js>)
.build();
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_notBeanPackages"><code>BeanContext.BEAN_notBeanPackages</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#notBeanPackages-java.lang.Object...-">notBeanPackages</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this property.
<br>Values can consist of any of the following types:
<ul>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Package.html?is-external=true" title="class or interface in java.lang"><code>Package</code></a> objects.
<li>Strings.
<li>Arrays and collections of anything in this list.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="propertyNamer-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propertyNamer</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.496">propertyNamer</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/PropertyNamer.html" title="interface in org.apache.juneau">PropertyNamer</a>&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#propertyNamer-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean property namer
<p>
The class to use for calculating bean property names.
<p>
Predefined classes:
<ul>
<li><a href="../../../../org/apache/juneau/PropertyNamerDefault.html" title="class in org.apache.juneau"><code>PropertyNamerDefault</code></a> - Default.
<li><a href="../../../../org/apache/juneau/PropertyNamerDLC.html" title="class in org.apache.juneau"><code>PropertyNamerDLC</code></a> - Dashed-lower-case names.
<li><a href="../../../../org/apache/juneau/PropertyNamerULC.html" title="class in org.apache.juneau"><code>PropertyNamerULC</code></a> - Dashed-upper-case names.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>fooBarBaz</jf> = <js>"fooBarBaz"</js>;
}
<jc>// Create a serializer that uses Dashed-Lower-Case property names.</jc>
<jc>// (e.g. "foo-bar-baz" instead of "fooBarBaz")</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.propertyNamer(PropertyNamerDLC.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_propertyNamer</jsf>, PropertyNamerDLC.<jk>class</jk>)
.build();
<jc>// Produces: {"foo-bar-baz":"fooBarBaz"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_propertyNamer"><code>BeanContext.BEAN_propertyNamer</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#propertyNamer-java.lang.Class-">propertyNamer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this setting.
<br>The default is <a href="../../../../org/apache/juneau/PropertyNamerDefault.html" title="class in org.apache.juneau"><code>PropertyNamerDefault</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="propertyNamer-java.lang.Class-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propertyNamer</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.502">propertyNamer</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/PropertyNamer.html" title="interface in org.apache.juneau">PropertyNamer</a>&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#propertyNamer-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block">Bean property namer
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#propertyNamer-java.lang.Class-"><code>BeanContextBuilder.propertyNamer(Class)</code></a> but allows you to specify a namer for a specific class.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with a single property.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>fooBarBaz</jf> = <js>"fooBarBaz"</js>;
}
<jc>// Create a serializer that uses Dashed-Lower-Case property names for the MyBean class only.</jc>
<jc>// (e.g. "foo-bar-baz" instead of "fooBarBaz")</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.propertyNamer(MyBean.<jk>class</jk>, PropertyNamerDLC.<jk>class</jk>)
.build();
<jc>// Produces: {"foo-bar-baz":"fooBarBaz"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#propertyNamer--"><code>Bean(propertyNamer)</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_propertyNamer"><code>BeanContext.BEAN_propertyNamer</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#propertyNamer-java.lang.Class-java.lang.Class-">propertyNamer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class that the namer applies to.</dd>
<dd><code>value</code> - The new value for this setting.
<br>The default is <a href="../../../../org/apache/juneau/PropertyNamerDefault.html" title="class in org.apache.juneau"><code>PropertyNamerDefault</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="sortProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.508">sortProperties</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Sort bean properties.
<p>
When enabled, all bean properties will be serialized and access in alphabetical order.
Otherwise, the natural order of the bean properties is used which is dependent on the JVM vendor.
On IBM JVMs, the bean properties are ordered based on their ordering in the Java file.
On Oracle JVMs, the bean properties are not ordered (which follows the official JVM specs).
<p>
This property is disabled by default so that IBM JVM users don't have to use <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotations
to force bean properties to be in a particular order and can just alter the order of the fields/methods
in the Java file.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>c</jf> = <js>"1"</js>;
<jk>public</jk> String <jf>b</jf> = <js>"2"</js>;
<jk>public</jk> String <jf>a</jf> = <js>"3"</js>;
}
<jc>// Create a serializer that sorts bean properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortProperties()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>)
.build();
<jc>// Produces: {"a":"3","b":"2","c":"1"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Bean.html#sort--"><code>@Bean.sort()</code></a> annotation can also be used to sort properties on just a single class.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_sortProperties"><code>BeanContext.BEAN_sortProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sortProperties--">sortProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="sortProperties-java.lang.Class...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.514">sortProperties</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;on)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
<div class="block">Sort bean properties.
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties--"><code>BeanContextBuilder.sortProperties()</code></a> but allows you to specify individual bean classes instead of globally.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// A bean with 3 properties.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>c</jf> = <js>"1"</js>;
<jk>public</jk> String <jf>b</jf> = <js>"2"</js>;
<jk>public</jk> String <jf>a</jf> = <js>"3"</js>;
}
<jc>// Create a serializer that sorts properties on MyBean.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortProperties(MyBean.<jk>class</jk>)
.build();
<jc>// Produces: {"a":"3","b":"2","c":"1"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#sort--"><code>Bean(sort)</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_sortProperties"><code>BeanContext.BEAN_sortProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sortProperties-java.lang.Class...-">sortProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The bean classes to sort properties on.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="stopClass-java.lang.Class-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopClass</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.520">stopClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#stopClass-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
<div class="block">Identifies a stop class for the annotated class.
<p>
Identical in purpose to the stop class specified by <a href="https://docs.oracle.com/javase/8/docs/api/java/beans/Introspector.html?is-external=true#getBeanInfo-java.lang.Class-java.lang.Class-" title="class or interface in java.beans"><code>Introspector.getBeanInfo(Class, Class)</code></a>.
Any properties in the stop class or in its base classes will be ignored during analysis.
<p>
For example, in the following class hierarchy, instances of <c>C3</c> will include property <c>p3</c>,
but not <c>p1</c> or <c>p2</c>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jk>public class</jk> C1 {
<jk>public int</jk> getP1();
}
<jk>public class</jk> C2 <jk>extends</jk> C1 {
<jk>public int</jk> getP2();
}
<jk>public class</jk> C3 <jk>extends</jk> C2 {
<jk>public int</jk> getP3();
}
<jc>// Create a serializer specifies a stop class for C3.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.stopClass(C3.<jk>class</jk>, C2.<jk>class</jk>)
.build();
<jc>// Produces: {"p3":"..."}</jc>
String json = s.serialize(<jk>new</jk> C3());
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#stopClass-java.lang.Class-java.lang.Class-">stopClass</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class on which the stop class is being applied.</dd>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="swaps-java.lang.Object...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>swaps</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.526">swaps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#swaps-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Java object swaps.
<p>
Swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
and "swap in" the non-serializable class during parsing.
<p>
An example of a swap would be a <c>Calendar</c> object that gets swapped out for an ISO8601 string.
<p>
Multiple swaps can be associated with a single class.
When multiple swaps are applicable to the same class, the media type pattern defined by
<a href="../../../../org/apache/juneau/transform/PojoSwap.html#forMediaTypes--"><code>PojoSwap.forMediaTypes()</code></a> or <a href="../../../../org/apache/juneau/annotation/Swap.html#mediaTypes--"><code>@Swap(mediaTypes)</code></a> are used to come up with the best match.
<p>
Values can consist of any of the following types:
<ul>
<li>Any subclass of <a href="../../../../org/apache/juneau/transform/PojoSwap.html" title="class in org.apache.juneau.transform"><code>PojoSwap</code></a>.
<li>Any instance of <a href="../../../../org/apache/juneau/transform/PojoSwap.html" title="class in org.apache.juneau.transform"><code>PojoSwap</code></a>.
<li>Any surrogate class. A shortcut for defining a <a href="../../../../org/apache/juneau/transform/SurrogateSwap.html" title="class in org.apache.juneau.transform"><code>SurrogateSwap</code></a>.
<li>Any array or collection of the objects above.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Sample swap for converting Dates to ISO8601 strings.</jc>
<jk>public class</jk> MyDateSwap <jk>extends</jk> StringSwap&lt;Date&gt; {
<jc>// ISO8601 formatter.</jc>
<jk>private</jk> DateFormat <jf>format</jf> = <jk>new</jk> SimpleDateFormat(<js>"yyyy-MM-dd'T'HH:mm:ssZ"</js>);
<ja>@Override</ja>
<jk>public</jk> String swap(BeanSession session, Date o) {
<jk>return</jk> <jf>format</jf>.format(o);
}
<ja>@Override</ja>
<jk>public</jk> Date unswap(BeanSession session, String o, ClassMeta hint) <jk>throws</jk> Exception {
<jk>return</jk> <jf>format</jf>.parse(o);
}
}
<jc>// Sample bean with a Date field.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Date <jf>date</jf> = <jk>new</jk> Date(112, 2, 3, 4, 5, 6);
}
<jc>// Create a serializer that uses our date swap.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.swaps(MyDateSwap.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addTo(<jsf>BEAN_swaps</jsf>, MyDateSwap.<jk>class</jk>)
.build();
<jc>// Produces: {"date":"2012-03-03T04:05:06-0500"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
<jc>// Create a serializer that uses our date swap.</jc>
ReaderParser p = JsonParser
.<jsm>create</jsm>()
.swaps(MyDateSwap.<jk>class</jk>)
.build();
<jc>// Use our parser to parse a bean.</jc>
MyBean bean = p.parse(json, MyBean.<jk>class</jk>);
</p>
<ul class='notes'>
<li>The <a href="../../../../org/apache/juneau/annotation/Swap.html" title="annotation in org.apache.juneau.annotation"><code>@Swap</code></a> annotation can also be used on classes to identify swaps for the class.
<li>The <a href="../../../../org/apache/juneau/annotation/Swap.html" title="annotation in org.apache.juneau.annotation"><code>@Swap</code></a> annotation can also be used on bean methods and fields to identify swaps for values of those bean properties.
</ul>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_swaps"><code>BeanContext.BEAN_swaps</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#swaps-java.lang.Object...-">swaps</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - The values to add to this property.
<br>Values can consist of any of the following types:
<ul>
<li>Any subclass of <a href="../../../../org/apache/juneau/transform/PojoSwap.html" title="class in org.apache.juneau.transform"><code>PojoSwap</code></a>.
<li>Any surrogate class. A shortcut for defining a <a href="../../../../org/apache/juneau/transform/SurrogateSwap.html" title="class in org.apache.juneau.transform"><code>SurrogateSwap</code></a>.
<li>Any array or collection of the objects above.
</ul></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="typeName-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeName</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.532">typeName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#typeName-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block">An identifying name for this class.
<p>
The name is used to identify the class type during parsing when it cannot be inferred through reflection.
For example, if a bean property is of type <c>Object</c>, then the serializer will add the name to the
output so that the class can be determined during parsing.
<p>
It is also used to specify element names in XML.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Use _type='mybean' to identify this bean.</jc>
<jk>public class</jk> MyBean {...}
<jc>// Create a serializer and specify the type name..</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.typeName(MyBean.<jk>class</jk>, <js>"mybean"</js>)
.build();
<jc>// Produces: {"_type":"mybean",...}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='notes'>
<li>Equivalent to the <a href="../../../../org/apache/juneau/annotation/Bean.html#typeName--"><code>Bean(typeName)</code></a> annotation.
</ul>
<ul class='seealso'>
<li class='jc'><a href="../../../../org/apache/juneau/annotation/Bean.html#typeName--"><code>Bean(typeName)</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_beanDictionary"><code>BeanContext.BEAN_beanDictionary</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#typeName-java.lang.Class-java.lang.String-">typeName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class the type name is being defined on.</dd>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="typePropertyName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typePropertyName</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.538">typePropertyName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#typePropertyName-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean type property name.
<p>
This specifies the name of the bean property used to store the dictionary name of a bean type so that the
parser knows the data type to reconstruct.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// POJOs with @Bean(name) annotations.</jc>
<ja>@Bean</ja>(typeName=<js>"foo"</js>)
<jk>public class</jk> Foo {...}
<ja>@Bean</ja>(typeName=<js>"bar"</js>)
<jk>public class</jk> Bar {...}
<jc>// Create a serializer that uses 't' instead of '_type' for dictionary names.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.typePropertyName(<js>"t"</js>)
.dictionary(Foo.<jk>class</jk>, Bar.<jk>class</jk>)
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_typePropertyName</jsf>, <js>"t"</js>)
.addTo(<jsf>BEAN_beanDictionary</jsf>, Foo.<jk>class</jk>)
.addTo(<jsf>BEAN_beanDictionary</jsf>, Bar.<jk>class</jk>)
.build();
<jc>// A bean with a field with an indeterminate type.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>mySimpleField</jf>;
}
<jc>// Parse bean.</jc>
MyBean b = p.parse(<js>"{mySimpleField:{t:'foo',...}}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_typePropertyName"><code>BeanContext.BEAN_typePropertyName</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#typePropertyName-java.lang.String-">typePropertyName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <js>"_type"</js>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="typePropertyName-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typePropertyName</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.544">typePropertyName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;on,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#typePropertyName-java.lang.Class-java.lang.String-">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Bean type property name.
<p>
Same as <a href="../../../../org/apache/juneau/BeanContextBuilder.html#typePropertyName-java.lang.String-"><code>BeanContextBuilder.typePropertyName(String)</code></a> except targets a specific bean class instead of globally.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// POJOs with @Bean(name) annotations.</jc>
<ja>@Bean</ja>(typeName=<js>"foo"</js>)
<jk>public class</jk> Foo {...}
<ja>@Bean</ja>(typeName=<js>"bar"</js>)
<jk>public class</jk> Bar {...}
<jc>// A bean with a field with an indeterminate type.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> Object <jf>mySimpleField</jf>;
}
<jc>// Create a serializer that uses 't' instead of '_type' for dictionary names.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.typePropertyName(MyBean.<jk>class</jk>, <js>"t"</js>)
.dictionary(Foo.<jk>class</jk>, Bar.<jk>class</jk>)
.build();
<jc>// Parse bean.</jc>
MyBean b = p.parse(<js>"{mySimpleField:{t:'foo',...}}"</js>, MyBean.<jk>class</jk>);
</p>
<ul class='seealso'>
<li class='ja'><a href="../../../../org/apache/juneau/annotation/Bean.html#typePropertyName--"><code>Bean(typePropertyName)</code></a>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_typePropertyName"><code>BeanContext.BEAN_typePropertyName</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#typePropertyName-java.lang.Class-java.lang.String-">typePropertyName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>on</code> - The class the type property name applies to.</dd>
<dd><code>value</code> - The new value for this property.
<br>The default is <js>"_type"</js>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="useEnumNames--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useEnumNames</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.550">useEnumNames</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#useEnumNames--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use enum names.
<p>
When enabled, enums are always serialized by name, not using <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer with debug enabled.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.useEnumNames()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_useEnumNames</jsf>, <jk>true</jk>)
.build();
<jc>// Enum with overridden toString().</jc>
<jc>// Will be serialized as ONE/TWO/THREE even though there's a toString() method.</jc>
<jk>public enum</jk> Option {
<jsf>ONE</jsf>(1),
<jsf>TWO</jsf>(2),
<jsf>THREE</jsf>(3);
<jk>private int</jk> <jf>i</jf>;
Option(<jk>int</jk> i) {
<jk>this</jk>.<jf>i</jf> = i;
}
<ja>@Override</ja>
<jk>public</jk> String toString() {
<jk>return</jk> String.<jsm>valueOf</jsm>(<jf>i</jf>);
}
}
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_useEnumNames"><code>BeanContext.BEAN_useEnumNames</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#useEnumNames--">useEnumNames</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="useJavaBeanIntrospector--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useJavaBeanIntrospector</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.556">useJavaBeanIntrospector</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanContextBuilder.html#useJavaBeanIntrospector--">BeanContextBuilder</a></code></span></div>
<div class="block"><i><l>BeanContext</l> configuration property:&emsp;</i> Use Java Introspector.
<p>
Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
<br>Most <a href="../../../../org/apache/juneau/annotation/Bean.html" title="annotation in org.apache.juneau.annotation"><code>@Bean</code></a> annotations will be ignored.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that only uses the built-in java bean introspector for finding properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.useJavaBeanIntrospector()
.build();
<jc>// Same, but use property.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.set(<jsf>BEAN_useJavaBeanIntrospector</jsf>, <jk>true</jk>)
.build();
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanContext.html#BEAN_useJavaBeanIntrospector"><code>BeanContext.BEAN_useJavaBeanIntrospector</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#useJavaBeanIntrospector--">useJavaBeanIntrospector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="detectRecursions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detectRecursions</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.562">detectRecursions</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#detectRecursions--">BeanTraverseBuilder</a></code></span></div>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Automatically detect POJO recursions.
<p>
When enabled, specifies that recursions should be checked for during traversal.
<p>
Recursions can occur when traversing models that aren't true trees but rather contain loops.
<br>In general, unchecked recursions cause stack-overflow-errors.
<br>These show up as <a href="../../../../org/apache/juneau/BeanRecursionException.html" title="class in org.apache.juneau"><code>BeanRecursionException</code></a> with the message <js>"Depth too deep. Stack overflow occurred."</js>.
<ul class='notes'>
<li>
Checking for recursion can cause a small performance penalty.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that automatically checks for recursions.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.detectRecursions()
.build();
<jc>// Create a POJO model with a recursive loop.</jc>
<jk>public class</jk> A {
<jk>public</jk> Object <jf>f</jf>;
}
A a = <jk>new</jk> A();
a.<jf>f</jf> = a;
<jc>// Throws a SerializeException and not a StackOverflowError</jc>
String json = s.serialize(a);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanTraverseContext.html#BEANTRAVERSE_detectRecursions"><code>BeanTraverseContext.BEANTRAVERSE_detectRecursions</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#detectRecursions--">detectRecursions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ignoreRecursions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignoreRecursions</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.568">ignoreRecursions</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#ignoreRecursions--">BeanTraverseBuilder</a></code></span></div>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Ignore recursion errors.
<p>
When enabled, when we encounter the same object when traversing a tree, we set the value to <jk>null</jk>.
<p>
For example, if a model contains the links A-&gt;B-&gt;C-&gt;A, then the JSON generated will look like
the following when <jsf>BEANTRAVERSE_ignoreRecursions</jsf> is <jk>true</jk>...
<p class='bcode w800'>
{A:{B:{C:<jk>null</jk>}}}
</p>
<ul class='notes'>
<li>
Checking for recursion can cause a small performance penalty.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer ignores recursions.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.ignoreRecursions()
.build();
<jc>// Create a POJO model with a recursive loop.</jc>
<jk>public class</jk> A {
<jk>public</jk> Object <jf>f</jf>;
}
A a = <jk>new</jk> A();
a.<jf>f</jf> = a;
<jc>// Produces "{f:null}"</jc>
String json = s.serialize(a);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanTraverseContext.html#BEANTRAVERSE_ignoreRecursions"><code>BeanTraverseContext.BEANTRAVERSE_ignoreRecursions</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ignoreRecursions--">ignoreRecursions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="initialDepth-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialDepth</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.574">initialDepth</a>(int&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#initialDepth-int-">BeanTraverseBuilder</a></code></span></div>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Initial depth.
<p>
The initial indentation level at the root.
<p>
Useful when constructing document fragments that need to be indented at a certain level when whitespace is enabled.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer with whitespace enabled and an initial depth of 2.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.ws()
.initialDepth(2)
.build();
<jc>// Produces "\t\t{\n\t\t\t'foo':'bar'\n\t\t}\n"</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanTraverseContext.html#BEANTRAVERSE_initialDepth"><code>BeanTraverseContext.BEANTRAVERSE_initialDepth</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#initialDepth-int-">initialDepth</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <c>0</c>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="maxDepth-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxDepth</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.580">maxDepth</a>(int&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/BeanTraverseBuilder.html#maxDepth-int-">BeanTraverseBuilder</a></code></span></div>
<div class="block"><i><l>BeanTraverse</l> configuration property:&emsp;</i> Max traversal depth.
<p>
When enabled, abort traversal if specified depth is reached in the POJO tree.
<p>
If this depth is exceeded, an exception is thrown.
<p>
This prevents stack overflows from occurring when trying to traverse models with recursive references.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that throws an exception if the depth reaches greater than 20.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.maxDepth(20)
.build();
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/BeanTraverseContext.html#BEANTRAVERSE_maxDepth"><code>BeanTraverseContext.BEANTRAVERSE_maxDepth</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#maxDepth-int-">maxDepth</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <c>100</c>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="addBeanTypes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addBeanTypes</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.586">addBeanTypes</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addBeanTypes--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Add <js>"_type"</js> properties when needed.
<p>
When enabled, <js>"_type"</js> properties will be added to beans if their type cannot be inferred
through reflection.
<p>
This is used to recreate the correct objects during parsing if the object types cannot be inferred.
<br>For example, when serializing a <c>Map&lt;String,Object&gt;</c> field where the bean class cannot be determined from
the type of the values.
<p>
Note the differences between the following settings:
<ul class='javatree'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addRootType--"><code>SerializerBuilder.addRootType()</code></a> - Affects whether <js>'_type'</js> is added to root node.
<li class='jf'><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addBeanTypes--"><code>SerializerBuilder.addBeanTypes()</code></a> - Affects whether <js>'_type'</js> is added to any nodes.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that adds _type to nodes.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addBeanTypes()
.build();
<jc>// Our map of beans to serialize.</jc>
<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
OMap map = OMap.of(<js>"foo"</js>, <jk>new</jk> MyBean());
<jc>// Will contain: {"foo":{"_type":"mybean","foo":"bar"}}</jc>
String json = s.serialize(map);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_addBeanTypes"><code>Serializer.SERIALIZER_addBeanTypes</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#addBeanTypes--">addBeanTypes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="addRootType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRootType</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.592">addRootType</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addRootType--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Add type attribute to root nodes.
<p>
When enabled, <js>"_type"</js> properties will be added to top-level beans.
<p>
When disabled, it is assumed that the parser knows the exact Java POJO type being parsed, and therefore top-level
type information that might normally be included to determine the data type will not be serialized.
<p>
For example, when serializing a top-level POJO with a <a href="../../../../org/apache/juneau/annotation/Bean.html#typeName--"><code>@Bean(typeName)</code></a> value, a
<js>'_type'</js> attribute will only be added when this setting is enabled.
<p>
Note the differences between the following settings:
<ul class='javatree'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addRootType--"><code>SerializerBuilder.addRootType()</code></a> - Affects whether <js>'_type'</js> is added to root node.
<li class='jf'><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#addBeanTypes--"><code>SerializerBuilder.addBeanTypes()</code></a> - Affects whether <js>'_type'</js> is added to any nodes.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that adds _type to root node.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.addRootType()
.build();
<jc>// Our bean to serialize.</jc>
<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Will contain: {"_type":"mybean","foo":"bar"}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_addRootType"><code>Serializer.SERIALIZER_addRootType</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#addRootType--">addRootType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="keepNullProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keepNullProperties</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.598">keepNullProperties</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#keepNullProperties--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Don't trim null bean property values.
<p>
When enabled, null bean values will be serialized to the output.
<ul class='notes'>
<li>Not enabling this setting will cause <c>Map</c>s with <jk>null</jk> values to be lost during parsing.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that serializes null properties.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.keepNullProperties()
.build();
<jc>// Our bean to serialize.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <jk>null</jk>;
}
<jc>// Will contain "{foo:null}".</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_keepNullProperties"><code>Serializer.SERIALIZER_keepNullProperties</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#keepNullProperties--">keepNullProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="listener-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listener</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.604">listener</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#listener-java.lang.Class-">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Serializer listener.
<p>
Class used to listen for errors and warnings that occur during serialization.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Define our serializer listener.</jc>
<jc>// Simply captures all errors.</jc>
<jk>public class</jk> MySerializerListener <jk>extends</jk> SerializerListener {
<jc>// A simple property to store our events.</jc>
<jk>public</jk> List&lt;String&gt; <jf>events</jf> = <jk>new</jk> LinkedList&lt;&gt;();
<ja>@Override</ja>
<jk>public</jk> &lt;T&gt; <jk>void</jk> onError(SerializerSession session, Throwable t, String msg) {
<jf>events</jf>.add(session.getLastLocation() + <js>","</js> + msg + <js>","</js> + t);
}
}
<jc>// Create a serializer using our listener.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.listener(MySerializerListener.<jk>class</jk>)
.build();
<jc>// Create a session object.</jc>
<jc>// Needed because listeners are created per-session.</jc>
<jk>try</jk> (WriterSerializerSession ss = s.createSession()) {
<jc>// Serialize a bean.</jc>
String json = ss.serialize(<jk>new</jk> MyBean());
<jc>// Get the listener.</jc>
MySerializerListener l = ss.getListener(MySerializerListener.<jk>class</jk>);
<jc>// Dump the results to the console.</jc>
SimpleJsonSerializer.<jsf>DEFAULT</jsf>.println(l.<jf>events</jf>);
}
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_listener"><code>Serializer.SERIALIZER_listener</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#listener-java.lang.Class-">listener</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="sortCollections--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortCollections</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.610">sortCollections</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#sortCollections--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Sort arrays and collections alphabetically.
<p>
When enabled, copies and sorts the contents of arrays and collections before serializing them.
<p>
Note that this introduces a performance penalty since it requires copying the existing collection.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that sorts arrays and collections before serialization.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortCollections()
.build();
<jc>// An unsorted array</jc>
String[] array = {<js>"foo"</js>,<js>"bar"</js>,<js>"baz"</js>}
<jc>// Produces ["bar","baz","foo"]</jc>
String json = s.serialize(array);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_sortCollections"><code>Serializer.SERIALIZER_sortCollections</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sortCollections--">sortCollections</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="sortMaps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortMaps</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.616">sortMaps</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#sortMaps--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Sort maps alphabetically.
<p>
When enabled, copies and sorts the contents of maps by their keys before serializing them.
<p>
Note that this introduces a performance penalty.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that sorts maps before serialization.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sortMaps()
.build();
<jc>// An unsorted map.</jc>
OMap map = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
<jc>// Produces {"bar":2,"baz":3,"foo":1}</jc>
String json = s.serialize(map);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_sortMaps"><code>Serializer.SERIALIZER_sortMaps</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sortMaps--">sortMaps</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="trimEmptyCollections--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimEmptyCollections</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.622">trimEmptyCollections</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimEmptyCollections--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim empty lists and arrays.
<p>
When enabled, empty lists and arrays will not be serialized.
<p>
Note that enabling this setting has the following effects on parsing:
<ul class='spaced-list'>
<li>
Map entries with empty list values will be lost.
<li>
Bean properties with empty list values will not be set.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that skips empty arrays and collections.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.trimEmptyCollections()
.build();
<jc>// A bean with a field with an empty array.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String[] <jf>foo</jf> = {};
}
<jc>// Produces {}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_trimEmptyCollections"><code>Serializer.SERIALIZER_trimEmptyCollections</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#trimEmptyCollections--">trimEmptyCollections</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="trimEmptyMaps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimEmptyMaps</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.628">trimEmptyMaps</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimEmptyMaps--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim empty maps.
<p>
When enabled, empty map values will not be serialized to the output.
<p>
Note that enabling this setting has the following effects on parsing:
<ul class='spaced-list'>
<li>
Bean properties with empty map values will not be set.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that skips empty maps.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.trimEmptyMaps()
.build();
<jc>// A bean with a field with an empty map.</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> OMap <jf>foo</jf> = OMap.<jsm>of</jsm>();
}
<jc>// Produces {}</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_trimEmptyMaps"><code>Serializer.SERIALIZER_trimEmptyMaps</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#trimEmptyMaps--">trimEmptyMaps</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="trimStrings--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimStrings</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.634">trimStrings</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#trimStrings--">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> Trim strings.
<p>
When enabled, string values will be trimmed of whitespace using <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true#trim--" title="class or interface in java.lang"><code>String.trim()</code></a> before being serialized.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that trims strings before serialization.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.trimStrings()
.build();
<jc>// A map with space-padded keys/values</jc>
OMap map = OMap.<jsm>of</jsm>(<js>" foo "</js>, <js>" bar "</js>);
<jc>// Produces "{foo:'bar'}"</jc>
String json = s.toString(map);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_trimStrings"><code>Serializer.SERIALIZER_trimStrings</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#trimStrings--">trimStrings</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="uriContext-org.apache.juneau.UriContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uriContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.640">uriContext</a>(<a href="../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#uriContext-org.apache.juneau.UriContext-">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI context bean.
<p>
Bean used for resolution of URIs to absolute or root-relative form.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Our URI contextual information.</jc>
String authority = <js>"http://localhost:10000"</js>;
String contextRoot = <js>"/myContext"</js>;
String servletPath = <js>"/myServlet"</js>;
String pathInfo = <js>"/foo"</js>;
<jc>// Create a UriContext object.</jc>
UriContext uriContext = <jk>new</jk> UriContext(authority, contextRoot, servletPath, pathInfo);
<jc>// Associate it with our serializer.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.uriContext(uriContext)
.uriRelativity(<jsf>RESOURCE</jsf>) <jc>// Assume relative paths are relative to servlet.</jc>
.uriResolution(<jsf>ABSOLUTE</jsf>) <jc>// Serialize URLs as absolute paths.</jc>
.build();
<jc>// A relative URL</jc>
URL url = <jk>new</jk> URL(<js>"bar"</js>);
<jc>// Produces "http://localhost:10000/myContext/myServlet/foo/bar"</jc>
String json = s.toString(url);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_uriContext"><code>Serializer.SERIALIZER_uriContext</code></a>
<li class='link'><a class='doclink' href='../../../../overview-summary.html#juneau-marshall.MarshallingUris'>Overview &gt; juneau-marshall &gt; URIs</a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#uriContext-org.apache.juneau.UriContext-">uriContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="uriRelativity-org.apache.juneau.UriRelativity-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uriRelativity</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.646">uriRelativity</a>(<a href="../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#uriRelativity-org.apache.juneau.UriRelativity-">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI relativity.
<p>
Defines what relative URIs are relative to when serializing any of the following:
<ul>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net"><code>URI</code></a>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net"><code>URL</code></a>
<li>Properties and classes annotated with <a href="../../../../org/apache/juneau/annotation/URI.html" title="annotation in org.apache.juneau.annotation"><code>@URI</code></a>
</ul>
<p>
Possible values are:
<ul class='javatree'>
<li class='jf'><a href="../../../../org/apache/juneau/UriRelativity.html#RESOURCE"><code>UriRelativity.RESOURCE</code></a>
- Relative URIs should be considered relative to the servlet URI.
<li class='jf'><a href="../../../../org/apache/juneau/UriRelativity.html#PATH_INFO"><code>UriRelativity.PATH_INFO</code></a>
- Relative URIs should be considered relative to the request URI.
</ul>
<p>
See <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#uriContext-org.apache.juneau.UriContext-"><code>SerializerBuilder.uriContext(UriContext)</code></a> for examples.
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_uriRelativity"><code>Serializer.SERIALIZER_uriRelativity</code></a>
<li class='link'><a class='doclink' href='../../../../overview-summary.html#juneau-marshall.MarshallingUris'>Overview &gt; juneau-marshall &gt; URIs</a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#uriRelativity-org.apache.juneau.UriRelativity-">uriRelativity</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/UriRelativity.html#RESOURCE"><code>UriRelativity.RESOURCE</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="uriResolution-org.apache.juneau.UriResolution-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uriResolution</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.652">uriResolution</a>(<a href="../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#uriResolution-org.apache.juneau.UriResolution-">SerializerBuilder</a></code></span></div>
<div class="block"><i><l>Serializer</l> configuration property:&emsp;</i> URI resolution.
<p>
Defines the resolution level for URIs when serializing any of the following:
<ul>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net"><code>URI</code></a>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net"><code>URL</code></a>
<li>Properties and classes annotated with <a href="../../../../org/apache/juneau/annotation/URI.html" title="annotation in org.apache.juneau.annotation"><code>@URI</code></a>
</ul>
<p>
Possible values are:
<ul>
<li class='jf'><a href="../../../../org/apache/juneau/UriResolution.html#ABSOLUTE"><code>UriResolution.ABSOLUTE</code></a>
- Resolve to an absolute URL (e.g. <js>"http://host:port/context-root/servlet-path/path-info"</js>).
<li class='jf'><a href="../../../../org/apache/juneau/UriResolution.html#ROOT_RELATIVE"><code>UriResolution.ROOT_RELATIVE</code></a>
- Resolve to a root-relative URL (e.g. <js>"/context-root/servlet-path/path-info"</js>).
<li class='jf'><a href="../../../../org/apache/juneau/UriResolution.html#NONE"><code>UriResolution.NONE</code></a>
- Don't do any URL resolution.
</ul>
<p>
See <a href="../../../../org/apache/juneau/serializer/SerializerBuilder.html#uriContext-org.apache.juneau.UriContext-"><code>SerializerBuilder.uriContext(UriContext)</code></a> for examples.
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_uriResolution"><code>Serializer.SERIALIZER_uriResolution</code></a>
<li class='link'><a class='doclink' href='../../../../overview-summary.html#juneau-marshall.MarshallingUris'>Overview &gt; juneau-marshall &gt; URIs</a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#uriResolution-org.apache.juneau.UriResolution-">uriResolution</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <a href="../../../../org/apache/juneau/UriResolution.html#NONE"><code>UriResolution.NONE</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="fileCharset-java.nio.charset.Charset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileCharset</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.658">fileCharset</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#fileCharset-java.nio.charset.Charset-">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> File charset.
<p>
The character set to use for writing <c>Files</c> to the file system.
<p>
Used when passing in files to <a href="../../../../org/apache/juneau/serializer/Serializer.html#serialize-java.lang.Object-java.lang.Object-"><code>Serializer.serialize(Object, Object)</code></a>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that writes UTF-8 files.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.fileCharset(Charset.<jsm>forName</jsm>(<js>"UTF-8"</js>))
.build();
<jc>// Use it to read a UTF-8 encoded file.</jc>
s.serialize(<jk>new</jk> File(<js>"MyBean.txt"</js>), myBean);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_fileCharset"><code>WriterSerializer.WSERIALIZER_fileCharset</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#fileCharset-java.nio.charset.Charset-">fileCharset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is the system JVM setting.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="maxIndent-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxIndent</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.664">maxIndent</a>(int&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#maxIndent-int-">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Maximum indentation.
<p>
Specifies the maximum indentation level in the serialized document.
<ul class='notes'>
<li>This setting does not apply to the RDF serializers.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that indents a maximum of 20 tabs.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.ws() <jc>// Enable whitespace</jc>
.maxIndent(20)
.build();
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_maxIndent"><code>WriterSerializer.WSERIALIZER_maxIndent</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#maxIndent-int-">maxIndent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <c>100</c>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="quoteChar-char-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quoteChar</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.670">quoteChar</a>(char&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#quoteChar-char-">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Quote character.
<p>
Specifies the character to use for quoting attributes and values.
<ul class='notes'>
<li>This setting does not apply to the RDF serializers.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that uses single quotes.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.quoteChar(<js>'\''</js>)
.build();
<jc>// A bean with a single property</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Produces {'foo':'bar'}</jc>
String json = s.toString(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_quoteChar"><code>WriterSerializer.WSERIALIZER_quoteChar</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#quoteChar-char-">quoteChar</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is <js>'"'</js>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="sq--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sq</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.676">sq</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sq--">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Quote character.
<p>
Specifies to use single quotes for quoting attributes and values.
<ul class='notes'>
<li>This setting does not apply to the RDF serializers.
</ul>
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that uses single quotes.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.sq()
.build();
<jc>// A bean with a single property</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Produces {'foo':'bar'}</jc>
String json = s.toString(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_quoteChar"><code>WriterSerializer.WSERIALIZER_quoteChar</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#sq--">sq</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="streamCharset-java.nio.charset.Charset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>streamCharset</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.682">streamCharset</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#streamCharset-java.nio.charset.Charset-">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Output stream charset.
<p>
The character set to use when writing to <c>OutputStreams</c>.
<p>
Used when passing in output streams and byte arrays to <a href="../../../../org/apache/juneau/serializer/Serializer.html#serialize-java.lang.Object-java.lang.Object-"><code>Serializer.serialize(Object, Object)</code></a>.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer that writes UTF-8 files.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.streamCharset(Charset.<jsm>forName</jsm>(<js>"UTF-8"</js>))
.build();
<jc>// Use it to write to a UTF-8 encoded output stream.</jc>
s.serializer(<jk>new</jk> FileOutputStreamStream(<js>"MyBean.txt"</js>), myBean);
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_streamCharset"><code>WriterSerializer.WSERIALIZER_streamCharset</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#streamCharset-java.nio.charset.Charset-">streamCharset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The new value for this property.
<br>The default is the system JVM setting.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="useWhitespace--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useWhitespace</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.688">useWhitespace</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#useWhitespace--">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Use whitespace.
<p>
When enabled, whitespace is added to the output to improve readability.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer with whitespace enabled.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.useWhitespace()
.build();
<jc>// A bean with a single property</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Produces "\{\n\t"foo": "bar"\n\}\n"</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_useWhitespace"><code>WriterSerializer.WSERIALIZER_useWhitespace</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#useWhitespace--">useWhitespace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
<a name="ws--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ws</h4>
<pre>public&nbsp;<a href="../../../../org/apache/juneau/json/JsonSerializerBuilder.html" title="class in org.apache.juneau.json">JsonSerializerBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/json/JsonSerializerBuilder.html#line.694">ws</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ws--">WriterSerializerBuilder</a></code></span></div>
<div class="block"><i><l>WriterSerializer</l> configuration property:&emsp;</i> Use whitespace.
<p>
When enabled, whitespace is added to the output to improve readability.
<h5 class='section'>Example:</h5>
<p class='bcode w800'>
<jc>// Create a serializer with whitespace enabled.</jc>
WriterSerializer s = JsonSerializer
.<jsm>create</jsm>()
.ws()
.build();
<jc>// A bean with a single property</jc>
<jk>public class</jk> MyBean {
<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
}
<jc>// Produces "\{\n\t"foo": "bar"\n\}\n"</jc>
String json = s.serialize(<jk>new</jk> MyBean());
</p>
<ul class='seealso'>
<li class='jf'><a href="../../../../org/apache/juneau/serializer/WriterSerializer.html#WSERIALIZER_useWhitespace"><code>WriterSerializer.WSERIALIZER_useWhitespace</code></a>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html#ws--">ws</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/juneau/serializer/WriterSerializerBuilder.html" title="class in org.apache.juneau.serializer">WriterSerializerBuilder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This object (for method chaining).</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/juneau/json/JsonSerializer.ReadableSafe.html" title="class in org.apache.juneau.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/juneau/json/JsonSerializerSession.html" title="class in org.apache.juneau.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/juneau/json/JsonSerializerBuilder.html" target="_top">Frames</a></li>
<li><a href="JsonSerializerBuilder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>