<!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_66) on Mon Feb 22 16:40:15 PST 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class Hierarchy (jndn-management 1.1.0 API)</title>
<meta name="date" content="2016-02-22">
<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="Class Hierarchy (jndn-management 1.1.0 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>Package</li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</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?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.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">
<h1 class="title">Hierarchy For All Packages</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="com/intel/jndn/management/package-tree.html">com.intel.jndn.management</a>, </li>
<li><a href="com/intel/jndn/management/enums/package-tree.html">com.intel.jndn.management.enums</a>, </li>
<li><a href="com/intel/jndn/management/helpers/package-tree.html">com.intel.jndn.management.helpers</a>, </li>
<li><a href="com/intel/jndn/management/types/package-tree.html">com.intel.jndn.management.types</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
<ul>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/ChannelStatus.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">ChannelStatus</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.helpers.<a href="com/intel/jndn/management/helpers/EncodingHelper.html" title="class in com.intel.jndn.management.helpers"><span class="typeNameLink">EncodingHelper</span></a></li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">FaceStatus</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.helpers.<a href="com/intel/jndn/management/helpers/FetchHelper.html" title="class in com.intel.jndn.management.helpers"><span class="typeNameLink">FetchHelper</span></a> (implements net.named_data.jndn.OnData, net.named_data.jndn.OnTimeout)</li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">FibEntry</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">ForwarderStatus</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.<a href="com/intel/jndn/management/NdnPingClient.html" title="class in com.intel.jndn.management"><span class="typeNameLink">NdnPingClient</span></a></li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/NextHopRecord.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">NextHopRecord</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.<a href="com/intel/jndn/management/Nfdc.html" title="class in com.intel.jndn.management"><span class="typeNameLink">Nfdc</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/NfdTlv.html" title="class in com.intel.jndn.management.enums"><span class="typeNameLink">NfdTlv</span></a></li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">RibEntry</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Route.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">Route</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">com.intel.jndn.management.helpers.<a href="com/intel/jndn/management/helpers/StatusDatasetHelper.html" title="class in com.intel.jndn.management.helpers"><span class="typeNameLink">StatusDatasetHelper</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/Strategies.html" title="class in com.intel.jndn.management.enums"><span class="typeNameLink">Strategies</span></a></li>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types"><span class="typeNameLink">StrategyChoice</span></a> (implements com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a>)</li>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
<ul>
<li type="circle">com.intel.jndn.management.<a href="com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="typeNameLink">ManagementException</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">com.intel.jndn.management.types.<a href="com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types"><span class="typeNameLink">Decodable</span></a></li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/RouteOrigin.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">RouteOrigin</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/RouteFlags.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">RouteFlags</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/LocalControlHeader.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">LocalControlHeader</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/LinkType.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">LinkType</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/FaceScope.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">FaceScope</span></a></li>
<li type="circle">com.intel.jndn.management.enums.<a href="com/intel/jndn/management/enums/FacePersistency.html" title="enum in com.intel.jndn.management.enums"><span class="typeNameLink">FacePersistency</span></a></li>
</ul>
</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>Package</li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</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?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.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; 2016. All rights reserved.</small></p>
</body>
</html>