<!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 Wed Dec 06 14:36:25 CET 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode (olingo-odata2-parent 2.0.10 API)</title>
<meta name="date" content="2017-12-06">
<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="Uses of Class org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode (olingo-odata2-parent 2.0.10 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/olingo/odata2/api/uri/class-use/ExpandSelectTreeNode.html" target="_top">Frames</a></li>
<li><a href="ExpandSelectTreeNode.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode" class="title">Uses of Class<br>org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.olingo.odata2.api.ep">org.apache.olingo.odata2.api.ep</a></td>
<td class="colLast">
<div class="block">Entity Provider</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.olingo.odata2.api.ep.callback">org.apache.olingo.odata2.api.ep.callback</a></td>
<td class="colLast">
<div class="block">Entity Provider Callbacks</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.olingo.odata2.api.ep.entry">org.apache.olingo.odata2.api.ep.entry</a></td>
<td class="colLast">
<div class="block">Entity Provider Entries</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.olingo.odata2.api.uri">org.apache.olingo.odata2.api.uri</a></td>
<td class="colLast">
<div class="block">URI Parser Facade</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="org.apache.olingo.odata2.api.ep">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a> in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/package-summary.html">org.apache.olingo.odata2.api.ep</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/package-summary.html">org.apache.olingo.odata2.api.ep</a> that return <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">EntityProviderWriteProperties.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.html#getExpandSelectTree--">getExpandSelectTree</a></span>()</code>
<div class="block">Gets the expand select tree data structure resulting from $expand and $select query options.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/package-summary.html">org.apache.olingo.odata2.api.ep</a> with parameters of type <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.ODataEntityProviderPropertiesBuilder.html" title="class in org.apache.olingo.odata2.api.ep">EntityProviderWriteProperties.ODataEntityProviderPropertiesBuilder</a></code></td>
<td class="colLast"><span class="typeNameLabel">EntityProviderWriteProperties.ODataEntityProviderPropertiesBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.ODataEntityProviderPropertiesBuilder.html#expandSelectTree-org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode-">expandSelectTree</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a>&nbsp;expandSelectTree)</code>
<div class="block">Set a expand select tree which results from $expand and $select query parameter.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.olingo.odata2.api.ep.callback">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a> in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/callback/package-summary.html">org.apache.olingo.odata2.api.ep.callback</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/callback/package-summary.html">org.apache.olingo.odata2.api.ep.callback</a> that return <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">WriteCallbackContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/ep/callback/WriteCallbackContext.html#getCurrentExpandSelectTreeNode--">getCurrentExpandSelectTreeNode</a></span>()</code>
<div class="block">Current means the node pointing to the target entity set</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/callback/package-summary.html">org.apache.olingo.odata2.api.ep.callback</a> with parameters of type <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">WriteCallbackContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/ep/callback/WriteCallbackContext.html#setCurrentExpandSelectTreeNode-org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode-">setCurrentExpandSelectTreeNode</a></span>(<a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a>&nbsp;currentNode)</code>
<div class="block">Do Not Call This Method!</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.olingo.odata2.api.ep.entry">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a> in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/entry/package-summary.html">org.apache.olingo.odata2.api.ep.entry</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/ep/entry/package-summary.html">org.apache.olingo.odata2.api.ep.entry</a> that return <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">ODataEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/ep/entry/ODataEntry.html#getExpandSelectTree--">getExpandSelectTree</a></span>()</code>
<div class="block">Gets the expand select tree data structure which can be used for <code>$expand</code> query option.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.olingo.odata2.api.uri">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a> in <a href="../../../../../../../org/apache/olingo/odata2/api/uri/package-summary.html">org.apache.olingo.odata2.api.uri</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/uri/package-summary.html">org.apache.olingo.odata2.api.uri</a> that return <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder.html#build--">build</a></span>()</code>
<div class="block">Will close this builder and return an <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri"><code>ExpandSelectTreeNode</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">UriParser.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/uri/UriParser.html#buildExpandSelectTree-java.util.List-java.util.List-">buildExpandSelectTree</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/olingo/odata2/api/uri/SelectItem.html" title="interface in org.apache.olingo.odata2.api.uri">SelectItem</a>&gt;&nbsp;select,
                     <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/olingo/odata2/api/uri/NavigationPropertySegment.html" title="interface in org.apache.olingo.odata2.api.uri">NavigationPropertySegment</a>&gt;&gt;&nbsp;expand)</code>
<div class="block">Creates an optimized expression tree out of $expand and $select expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></code></td>
<td class="colLast"><span class="typeNameLabel">UriParser.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/uri/UriParser.html#createExpandSelectTree-java.util.List-java.util.List-">createExpandSelectTree</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/olingo/odata2/api/uri/SelectItem.html" title="interface in org.apache.olingo.odata2.api.uri">SelectItem</a>&gt;&nbsp;select,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/olingo/odata2/api/uri/NavigationPropertySegment.html" title="interface in org.apache.olingo.odata2.api.uri">NavigationPropertySegment</a>&gt;&gt;&nbsp;expand)</code>
<div class="block">Creates an optimized expression tree out of $expand and $select expressions.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/uri/package-summary.html">org.apache.olingo.odata2.api.uri</a> that return types with arguments of type <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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>,<a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a>&gt;</code></td>
<td class="colLast"><span class="typeNameLabel">ExpandSelectTreeNode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html#getLinks--">getLinks</a></span>()</code>
<div class="block">Gets the links that have to be included or expanded.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/olingo/odata2/api/uri/package-summary.html">org.apache.olingo.odata2.api.uri</a> with parameters of type <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder</a></code></td>
<td class="colLast"><span class="typeNameLabel">ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.ExpandSelectTreeNodeBuilder.html#customExpandedLink-java.lang.String-org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode-">customExpandedLink</a></span>(<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;navigationPropertyName,
                  <a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">ExpandSelectTreeNode</a>&nbsp;expandNode)</code>
<div class="block">Sets a link to be expanded with a custom node.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= 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><a href="../../../../../../../org/apache/olingo/odata2/api/uri/ExpandSelectTreeNode.html" title="class in org.apache.olingo.odata2.api.uri">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/olingo/odata2/api/uri/class-use/ExpandSelectTreeNode.html" target="_top">Frames</a></li>
<li><a href="ExpandSelectTreeNode.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013-2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
