<!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 (1.8.0_92) on Mon Aug 13 15:36:35 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EntitySerializerOptions (Olingo-OData 4.5.0 API)</title>
<meta name="date" content="2018-08-13">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.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="EntitySerializerOptions (Olingo-OData 4.5.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="class-use/EntitySerializerOptions.html">Use</a></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/olingo/server/api/serializer/EntityCollectionSerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/olingo/server/api/serializer/EntitySerializerOptions.html" target="_top">Frames</a></li>
<li><a href="EntitySerializerOptions.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.olingo.server.api.serializer</div>
<h2 title="Class EntitySerializerOptions" class="title">Class EntitySerializerOptions</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/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>org.apache.olingo.server.api.serializer.EntitySerializerOptions</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">EntitySerializerOptions</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Options for the OData serializer.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer">EntitySerializerOptions.Builder</a></span></code>
<div class="block">Builder of OData serializer options.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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></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/olingo/commons/api/data/ContextURL.html" title="class in org.apache.olingo.commons.api.data">ContextURL</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#getContextURL--">getContextURL</a></span>()</code>
<div class="block">Gets the <a href="../../../../../../org/apache/olingo/commons/api/data/ContextURL.html" title="class in org.apache.olingo.commons.api.data"><code>ContextURL</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/olingo/server/api/uri/queryoption/ExpandOption.html" title="interface in org.apache.olingo.server.api.uri.queryoption">ExpandOption</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#getExpand--">getExpand</a></span>()</code>
<div class="block">Gets the $expand system query option.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/olingo/server/api/uri/queryoption/SelectOption.html" title="interface in org.apache.olingo.server.api.uri.queryoption">SelectOption</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#getSelect--">getSelect</a></span>()</code>
<div class="block">Gets the $select system query option.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#getWriteOnlyReferences--">getWriteOnlyReferences</a></span>()</code>
<div class="block">only writes the references of the entities</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer">EntitySerializerOptions.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#with--">with</a></span>()</code>
<div class="block">Initializes the options builder.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.html#xml10InvalidCharReplacement--">xml10InvalidCharReplacement</a></span>()</code>
<div class="block">Gets the replacement string for unicode characters, that is not allowed in XML 1.0</div>
</td>
</tr>
</table>
<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="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getContextURL--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextURL</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/olingo/commons/api/data/ContextURL.html" title="class in org.apache.olingo.commons.api.data">ContextURL</a>&nbsp;getContextURL()</pre>
<div class="block">Gets the <a href="../../../../../../org/apache/olingo/commons/api/data/ContextURL.html" title="class in org.apache.olingo.commons.api.data"><code>ContextURL</code></a>.</div>
</li>
</ul>
<a name="getExpand--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpand</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/olingo/server/api/uri/queryoption/ExpandOption.html" title="interface in org.apache.olingo.server.api.uri.queryoption">ExpandOption</a>&nbsp;getExpand()</pre>
<div class="block">Gets the $expand system query option.</div>
</li>
</ul>
<a name="getSelect--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelect</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/olingo/server/api/uri/queryoption/SelectOption.html" title="interface in org.apache.olingo.server.api.uri.queryoption">SelectOption</a>&nbsp;getSelect()</pre>
<div class="block">Gets the $select system query option.</div>
</li>
</ul>
<a name="getWriteOnlyReferences--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteOnlyReferences</h4>
<pre>public&nbsp;boolean&nbsp;getWriteOnlyReferences()</pre>
<div class="block">only writes the references of the entities</div>
</li>
</ul>
<a name="xml10InvalidCharReplacement--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>xml10InvalidCharReplacement</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;xml10InvalidCharReplacement()</pre>
<div class="block">Gets the replacement string for unicode characters, that is not allowed in XML 1.0</div>
</li>
</ul>
<a name="with--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>with</h4>
<pre>public static&nbsp;<a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer">EntitySerializerOptions.Builder</a>&nbsp;with()</pre>
<div class="block">Initializes the options builder.</div>
</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="class-use/EntitySerializerOptions.html">Use</a></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/olingo/server/api/serializer/EntityCollectionSerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/olingo/server/api/serializer/EntitySerializerOptions.Builder.html" title="class in org.apache.olingo.server.api.serializer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/olingo/server/api/serializer/EntitySerializerOptions.html" target="_top">Frames</a></li>
<li><a href="EntitySerializerOptions.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013&#x2013;2018 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
