diff --git a/com/intel/jndn/management/EncodingHelper.html b/com/intel/jndn/management/EncodingHelper.html
index f69a20f..b510f28 100644
--- a/com/intel/jndn/management/EncodingHelper.html
+++ b/com/intel/jndn/management/EncodingHelper.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:51 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:37 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>EncodingHelper (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>EncodingHelper (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="EncodingHelper (jndn-management 0.9.8 API)";
+        parent.document.title="EncodingHelper (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -154,6 +154,20 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/EncodingHelper.html#decodeStrategy(java.nio.ByteBuffer)">decodeStrategy</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input)</code>
+<div class="block">Helper to decode strategies since Tlv0_1_1WireFormat.java uses its own
+ internal, protected implementation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/EncodingHelper.html#decodeStrategy(net.named_data.jndn.encoding.tlv.TlvDecoder)">decodeStrategy</a></strong>(net.named_data.jndn.encoding.tlv.TlvDecoder&nbsp;decoder)</code>
+<div class="block">Helper to decode strategies using an existing decoding context; could be
+ merged to Tlv0_1_1WireFormat.java.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/EncodingHelper.html#encodeControlParameters(net.named_data.jndn.ControlParameters, net.named_data.jndn.encoding.tlv.TlvEncoder)">encodeControlParameters</a></strong>(net.named_data.jndn.ControlParameters&nbsp;controlParameters,
                        net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</code>
@@ -176,6 +190,21 @@
  to Tlv0_1_1WireFormat.java.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static net.named_data.jndn.util.Blob</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/EncodingHelper.html#encodeStrategy(net.named_data.jndn.Name)">encodeStrategy</a></strong>(net.named_data.jndn.Name&nbsp;strategy)</code>
+<div class="block">Helper to encode strategies since Tlv0_1_1WireFormat.java uses its own
+ internal, protected implementation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/EncodingHelper.html#encodeStrategy(net.named_data.jndn.Name, net.named_data.jndn.encoding.tlv.TlvEncoder)">encodeStrategy</a></strong>(net.named_data.jndn.Name&nbsp;strategy,
+              net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</code>
+<div class="block">Helper to encode strategies using an existing decoding context; could be
+ merged to Tlv0_1_1WireFormat.java.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -225,8 +254,8 @@
                                            throws net.named_data.jndn.encoding.EncodingException</pre>
 <div class="block">Helper to decode names since Tlv0_1_1WireFormat.java uses its own internal,
  protected implementation.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - </dd>
-<dt><span class="strong">Returns:</span></dt><dd></dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - the bytes to decode</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a decoded <code>Name</code></dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code>net.named_data.jndn.encoding.EncodingException</code></dd></dl>
 </li>
@@ -241,8 +270,8 @@
                                            throws net.named_data.jndn.encoding.EncodingException</pre>
 <div class="block">Helper to decode names using an existing decoding context; could be merged
  to Tlv0_1_1WireFormat.java.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>decoder</code> - </dd>
-<dt><span class="strong">Returns:</span></dt><dd></dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>decoder</code> - a current decoder context to use for decoding</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a decoded <code>Name</code></dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code>net.named_data.jndn.encoding.EncodingException</code></dd></dl>
 </li>
@@ -256,8 +285,8 @@
 <pre>public static&nbsp;net.named_data.jndn.util.Blob&nbsp;encodeName(net.named_data.jndn.Name&nbsp;name)</pre>
 <div class="block">Helper to encode names since Tlv0_1_1WireFormat.java uses its own internal,
  protected implementation.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - </dd>
-<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the <code>Name</code> to encode</dd>
+<dt><span class="strong">Returns:</span></dt><dd>an encoded <code>Blob</code></dd></dl>
 </li>
 </ul>
 <a name="encodeName(net.named_data.jndn.Name, net.named_data.jndn.encoding.tlv.TlvEncoder)">
@@ -270,7 +299,65 @@
               net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</pre>
 <div class="block">Helper to encode names using an existing encoding context; could be merged
  to Tlv0_1_1WireFormat.java.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - </dd><dd><code>encoder</code> - </dd></dl>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the <code>Name</code> to encode</dd><dd><code>encoder</code> - the current <code>TlvEncoder</code> context to encode with</dd></dl>
+</li>
+</ul>
+<a name="decodeStrategy(java.nio.ByteBuffer)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decodeStrategy</h4>
+<pre>public static&nbsp;net.named_data.jndn.Name&nbsp;decodeStrategy(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input)
+                                               throws net.named_data.jndn.encoding.EncodingException</pre>
+<div class="block">Helper to decode strategies since Tlv0_1_1WireFormat.java uses its own
+ internal, protected implementation.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - the bytes to decode</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a decoded <code>Name</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>net.named_data.jndn.encoding.EncodingException</code></dd></dl>
+</li>
+</ul>
+<a name="decodeStrategy(net.named_data.jndn.encoding.tlv.TlvDecoder)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decodeStrategy</h4>
+<pre>public static&nbsp;net.named_data.jndn.Name&nbsp;decodeStrategy(net.named_data.jndn.encoding.tlv.TlvDecoder&nbsp;decoder)
+                                               throws net.named_data.jndn.encoding.EncodingException</pre>
+<div class="block">Helper to decode strategies using an existing decoding context; could be
+ merged to Tlv0_1_1WireFormat.java.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>decoder</code> - the current <code>TlvDecoder</code> context to decode with</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a decoded strategy (e.g. <code>Name</code>)</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>net.named_data.jndn.encoding.EncodingException</code></dd></dl>
+</li>
+</ul>
+<a name="encodeStrategy(net.named_data.jndn.Name)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encodeStrategy</h4>
+<pre>public static&nbsp;net.named_data.jndn.util.Blob&nbsp;encodeStrategy(net.named_data.jndn.Name&nbsp;strategy)</pre>
+<div class="block">Helper to encode strategies since Tlv0_1_1WireFormat.java uses its own
+ internal, protected implementation.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>strategy</code> - the <code>Name</code> to encode</dd>
+<dt><span class="strong">Returns:</span></dt><dd>an encoded <code>Blob</code></dd></dl>
+</li>
+</ul>
+<a name="encodeStrategy(net.named_data.jndn.Name, net.named_data.jndn.encoding.tlv.TlvEncoder)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encodeStrategy</h4>
+<pre>public static final&nbsp;void&nbsp;encodeStrategy(net.named_data.jndn.Name&nbsp;strategy,
+                  net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</pre>
+<div class="block">Helper to encode strategies using an existing decoding context; could be
+ merged to Tlv0_1_1WireFormat.java.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>strategy</code> - the <code>Name</code> to encode</dd><dd><code>encoder</code> - the current <code>TlvEncoder</code> context to use</dd></dl>
 </li>
 </ul>
 <a name="encodeControlParameters(net.named_data.jndn.ControlParameters, net.named_data.jndn.encoding.tlv.TlvEncoder)">
diff --git a/com/intel/jndn/management/ManagementException.html b/com/intel/jndn/management/ManagementException.html
index 394abe3..5641ee0 100644
--- a/com/intel/jndn/management/ManagementException.html
+++ b/com/intel/jndn/management/ManagementException.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:51 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:37 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>ManagementException (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>ManagementException (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="ManagementException (jndn-management 0.9.8 API)";
+        parent.document.title="ManagementException (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/NFD.html b/com/intel/jndn/management/NFD.html
index d6fe5a4..1e99a2f 100644
--- a/com/intel/jndn/management/NFD.html
+++ b/com/intel/jndn/management/NFD.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>NFD (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>NFD (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="NFD (jndn-management 0.9.8 API)";
+        parent.document.title="NFD (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -38,7 +38,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
@@ -238,6 +238,14 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#getStrategyList(net.named_data.jndn.Face)">getStrategyList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#ping(net.named_data.jndn.Face, net.named_data.jndn.Name)">ping</a></strong>(net.named_data.jndn.Face&nbsp;face,
     net.named_data.jndn.Name&nbsp;name)</code>
@@ -245,7 +253,7 @@
  responding to requests.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#pingLocal(net.named_data.jndn.Face)">pingLocal</a></strong>(net.named_data.jndn.Face&nbsp;face)</code>
 <div class="block">Ping a forwarder on an existing face to verify that the forwarder is
@@ -254,7 +262,7 @@
  same machine as the NDN forwarding daemon.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
@@ -265,7 +273,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, int, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         int&nbsp;faceId,
@@ -275,7 +283,7 @@
  is provided a faceId.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#register(net.named_data.jndn.Face, java.lang.String, net.named_data.jndn.Name, int)">register</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
@@ -285,7 +293,7 @@
  forwarder to the given URI/route pair.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static net.named_data.jndn.Data</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">retrieveDataSet</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
                net.named_data.jndn.Name&nbsp;datasetName)</code>
@@ -294,7 +302,7 @@
  <a href="http://redmine.named-data.net/projects/nfd/wiki/StatusDataset">http://redmine.named-data.net/projects/nfd/wiki/StatusDataset</a></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../com/intel/jndn/management/types/ControlResponse.html" title="class in com.intel.jndn.management.types">ControlResponse</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#sendCommand(net.named_data.jndn.Face, net.named_data.jndn.Interest)">sendCommand</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
            net.named_data.jndn.Interest&nbsp;interest)</code>
@@ -303,7 +311,7 @@
  from the forwarder.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)">setStrategy</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
            net.named_data.jndn.Name&nbsp;prefix,
@@ -315,7 +323,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.ControlParameters)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
@@ -326,7 +334,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route)</code>
@@ -337,7 +345,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, int)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route,
@@ -349,7 +357,7 @@
  for protocol documentation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unregister(net.named_data.jndn.Face, net.named_data.jndn.Name, java.lang.String)">unregister</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
           net.named_data.jndn.Name&nbsp;route,
@@ -361,6 +369,15 @@
  for protocol documentation.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/NFD.html#unsetStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name)">unsetStrategy</a></strong>(net.named_data.jndn.Face&nbsp;forwarder,
+             net.named_data.jndn.Name&nbsp;prefix)</code>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -530,6 +547,24 @@
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
 </li>
 </ul>
+<a name="getStrategyList(net.named_data.jndn.Face)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStrategyList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;&nbsp;getStrategyList(net.named_data.jndn.Face&nbsp;forwarder)
+                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd>
+<dt><span class="strong">Returns:</span></dt><dd>a list of strategy choice entries, i.e. routes, see
+ http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
 <a name="getKeyLocator(net.named_data.jndn.Face)">
 <!--   -->
 </a>
@@ -794,9 +829,29 @@
  for protocol documentation. Ensure the forwarding face is on the local
  machine (management requests are to /localhost/...) and that command
  signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>prefix</code> - </dd><dd><code>strategy</code> - </dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost Face</dd><dd><code>prefix</code> - the <code>Name</code> prefix</dd><dd><code>strategy</code> - the <code>Name</code> of the strategy to set, e.g.
+ /localhost/nfd/strategy/broadcast</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if the command fails</dd></dl>
+</li>
+</ul>
+<a name="unsetStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unsetStrategy</h4>
+<pre>public static&nbsp;void&nbsp;unsetStrategy(net.named_data.jndn.Face&nbsp;forwarder,
+                 net.named_data.jndn.Name&nbsp;prefix)
+                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/NFD.html#setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information. Ensure the forwarding face is on the local machine
+ (management requests are to /localhost/...) and that command signing has
+ been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forwarder</code> - only a localhost <code>Face</code></dd><dd><code>prefix</code> - the <code>Name</code> prefix</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if the command fails</dd></dl>
 </li>
 </ul>
 <a name="retrieveDataSet(net.named_data.jndn.Face, net.named_data.jndn.Name)">
@@ -873,7 +928,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?com/intel/jndn/management/NFD.html" target="_top">Frames</a></li>
diff --git a/com/intel/jndn/management/Strategies.html b/com/intel/jndn/management/Strategies.html
new file mode 100644
index 0000000..a3c9b9c
--- /dev/null
+++ b/com/intel/jndn/management/Strategies.html
@@ -0,0 +1,310 @@
+<!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 (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>Strategies (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Strategies (jndn-management 0.10.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/Strategies.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="../../../../com/intel/jndn/management/NFD.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
+<li>Next Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?com/intel/jndn/management/Strategies.html" target="_top">Frames</a></li>
+<li><a href="Strategies.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods_inherited_from_class_java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">com.intel.jndn.management</div>
+<h2 title="Class Strategies" class="title">Class Strategies</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/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>com.intel.jndn.management.Strategies</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="strong">Strategies</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A reference list of the strategies available in NFD; should match
+ <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#Strategy">
+ http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#Strategy</a></div>
+<dl><dt><span class="strong">Author:</span></dt>
+  <dd>Andrew Brown <andrew.brown@intel.com></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/Strategies.html#BEST_ROUTE">BEST_ROUTE</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/Strategies.html#BROADCAST">BROADCAST</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/Strategies.html#CLIENT_CONTROL">CLIENT_CONTROL</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../com/intel/jndn/management/Strategies.html#NCC">NCC</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" 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><strong><a href="../../../../com/intel/jndn/management/Strategies.html#Strategies()">Strategies</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="BEST_ROUTE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BEST_ROUTE</h4>
+<pre>public static final&nbsp;net.named_data.jndn.Name BEST_ROUTE</pre>
+</li>
+</ul>
+<a name="BROADCAST">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BROADCAST</h4>
+<pre>public static final&nbsp;net.named_data.jndn.Name BROADCAST</pre>
+</li>
+</ul>
+<a name="CLIENT_CONTROL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLIENT_CONTROL</h4>
+<pre>public static final&nbsp;net.named_data.jndn.Name CLIENT_CONTROL</pre>
+</li>
+</ul>
+<a name="NCC">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NCC</h4>
+<pre>public static final&nbsp;net.named_data.jndn.Name NCC</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Strategies()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Strategies</h4>
+<pre>public&nbsp;Strategies()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/Strategies.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="../../../../com/intel/jndn/management/NFD.html" title="class in com.intel.jndn.management"><span class="strong">Prev Class</span></a></li>
+<li>Next Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?com/intel/jndn/management/Strategies.html" target="_top">Frames</a></li>
+<li><a href="Strategies.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods_inherited_from_class_java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/com/intel/jndn/management/class-use/EncodingHelper.html b/com/intel/jndn/management/class-use/EncodingHelper.html
index 58869f3..141923a 100644
--- a/com/intel/jndn/management/class-use/EncodingHelper.html
+++ b/com/intel/jndn/management/class-use/EncodingHelper.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.EncodingHelper (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.EncodingHelper (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.EncodingHelper (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.EncodingHelper (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/class-use/ManagementException.html b/com/intel/jndn/management/class-use/ManagementException.html
index d7a54ba..a09aa36 100644
--- a/com/intel/jndn/management/class-use/ManagementException.html
+++ b/com/intel/jndn/management/class-use/ManagementException.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.ManagementException (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.ManagementException (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.ManagementException (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.ManagementException (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/class-use/NFD.html b/com/intel/jndn/management/class-use/NFD.html
index 4d9a913..cfa2035 100644
--- a/com/intel/jndn/management/class-use/NFD.html
+++ b/com/intel/jndn/management/class-use/NFD.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.NFD (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.NFD (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.NFD (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.NFD (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/class-use/Strategies.html b/com/intel/jndn/management/class-use/Strategies.html
new file mode 100644
index 0000000..7931246
--- /dev/null
+++ b/com/intel/jndn/management/class-use/Strategies.html
@@ -0,0 +1,117 @@
+<!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 (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>Uses of Class com.intel.jndn.management.Strategies (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class com.intel.jndn.management.Strategies (jndn-management 0.10.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="../../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management">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?com/intel/jndn/management/class-use/Strategies.html" target="_top">Frames</a></li>
+<li><a href="Strategies.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All 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 com.intel.jndn.management.Strategies" class="title">Uses of Class<br>com.intel.jndn.management.Strategies</h2>
+</div>
+<div class="classUseContainer">No usage of com.intel.jndn.management.Strategies</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="../../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management">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?com/intel/jndn/management/class-use/Strategies.html" target="_top">Frames</a></li>
+<li><a href="Strategies.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All 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; 2015. All rights reserved.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/com/intel/jndn/management/package-frame.html b/com/intel/jndn/management/package-frame.html
index 2c03510..e6b1a80 100644
--- a/com/intel/jndn/management/package-frame.html
+++ b/com/intel/jndn/management/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
@@ -15,6 +15,7 @@
 <ul title="Classes">
 <li><a href="EncodingHelper.html" title="class in com.intel.jndn.management" target="classFrame">EncodingHelper</a></li>
 <li><a href="NFD.html" title="class in com.intel.jndn.management" target="classFrame">NFD</a></li>
+<li><a href="Strategies.html" title="class in com.intel.jndn.management" target="classFrame">Strategies</a></li>
 </ul>
 <h2 title="Exceptions">Exceptions</h2>
 <ul title="Exceptions">
diff --git a/com/intel/jndn/management/package-summary.html b/com/intel/jndn/management/package-summary.html
index 0961415..5e60514 100644
--- a/com/intel/jndn/management/package-summary.html
+++ b/com/intel/jndn/management/package-summary.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.intel.jndn.management (jndn-management 0.9.8 API)";
+        parent.document.title="com.intel.jndn.management (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -92,6 +92,14 @@
  for explanations of the various protocols used.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management">Strategies</a></td>
+<td class="colLast">
+<div class="block">A reference list of the strategies available in NFD; should match
+ <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#Strategy">
+ http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#Strategy</a></div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/com/intel/jndn/management/package-tree.html b/com/intel/jndn/management/package-tree.html
index 91be34c..7211c64 100644
--- a/com/intel/jndn/management/package-tree.html
+++ b/com/intel/jndn/management/package-tree.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management Class Hierarchy (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management Class Hierarchy (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.intel.jndn.management Class Hierarchy (jndn-management 0.9.8 API)";
+        parent.document.title="com.intel.jndn.management Class Hierarchy (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -77,6 +77,7 @@
 <ul>
 <li type="circle">com.intel.jndn.management.<a href="../../../../com/intel/jndn/management/EncodingHelper.html" title="class in com.intel.jndn.management"><span class="strong">EncodingHelper</span></a></li>
 <li type="circle">com.intel.jndn.management.<a href="../../../../com/intel/jndn/management/NFD.html" title="class in com.intel.jndn.management"><span class="strong">NFD</span></a></li>
+<li type="circle">com.intel.jndn.management.<a href="../../../../com/intel/jndn/management/Strategies.html" title="class in com.intel.jndn.management"><span class="strong">Strategies</span></a></li>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="strong">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="strong">Exception</span></a>
diff --git a/com/intel/jndn/management/package-use.html b/com/intel/jndn/management/package-use.html
index fd2509b..57deb63 100644
--- a/com/intel/jndn/management/package-use.html
+++ b/com/intel/jndn/management/package-use.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Package com.intel.jndn.management (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Package com.intel.jndn.management (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Package com.intel.jndn.management (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Package com.intel.jndn.management (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/ControlResponse.html b/com/intel/jndn/management/types/ControlResponse.html
index 8df9dd7..dc04556 100644
--- a/com/intel/jndn/management/types/ControlResponse.html
+++ b/com/intel/jndn/management/types/ControlResponse.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>ControlResponse (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>ControlResponse (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="ControlResponse (jndn-management 0.9.8 API)";
+        parent.document.title="ControlResponse (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/Decodable.html b/com/intel/jndn/management/types/Decodable.html
index dd02f8b..321a2d4 100644
--- a/com/intel/jndn/management/types/Decodable.html
+++ b/com/intel/jndn/management/types/Decodable.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Decodable (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Decodable (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Decodable (jndn-management 0.9.8 API)";
+        parent.document.title="Decodable (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -89,7 +89,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>, <a href="../../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>, <a href="../../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a>, <a href="../../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a></dd>
+<dd><a href="../../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>, <a href="../../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>, <a href="../../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a>, <a href="../../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a>, <a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/com/intel/jndn/management/types/FacePersistency.html b/com/intel/jndn/management/types/FacePersistency.html
index 4f97c11..99aa11d 100644
--- a/com/intel/jndn/management/types/FacePersistency.html
+++ b/com/intel/jndn/management/types/FacePersistency.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>FacePersistency (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>FacePersistency (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="FacePersistency (jndn-management 0.9.8 API)";
+        parent.document.title="FacePersistency (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/FaceScope.html b/com/intel/jndn/management/types/FaceScope.html
index b5ab776..33fc499 100644
--- a/com/intel/jndn/management/types/FaceScope.html
+++ b/com/intel/jndn/management/types/FaceScope.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>FaceScope (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>FaceScope (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="FaceScope (jndn-management 0.9.8 API)";
+        parent.document.title="FaceScope (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/FaceStatus.html b/com/intel/jndn/management/types/FaceStatus.html
index 37710eb..39dd30a 100644
--- a/com/intel/jndn/management/types/FaceStatus.html
+++ b/com/intel/jndn/management/types/FaceStatus.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>FaceStatus (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>FaceStatus (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="FaceStatus (jndn-management 0.9.8 API)";
+        parent.document.title="FaceStatus (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/FibEntry.html b/com/intel/jndn/management/types/FibEntry.html
index 67e386a..daf5b0d 100644
--- a/com/intel/jndn/management/types/FibEntry.html
+++ b/com/intel/jndn/management/types/FibEntry.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>FibEntry (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>FibEntry (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="FibEntry (jndn-management 0.9.8 API)";
+        parent.document.title="FibEntry (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/ForwarderStatus.html b/com/intel/jndn/management/types/ForwarderStatus.html
index 4816ab8..f9b5a5e 100644
--- a/com/intel/jndn/management/types/ForwarderStatus.html
+++ b/com/intel/jndn/management/types/ForwarderStatus.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>ForwarderStatus (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>ForwarderStatus (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="ForwarderStatus (jndn-management 0.9.8 API)";
+        parent.document.title="ForwarderStatus (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/LinkType.html b/com/intel/jndn/management/types/LinkType.html
index a3c445c..c4f9a29 100644
--- a/com/intel/jndn/management/types/LinkType.html
+++ b/com/intel/jndn/management/types/LinkType.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>LinkType (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>LinkType (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="LinkType (jndn-management 0.9.8 API)";
+        parent.document.title="LinkType (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/LocalControlHeader.html b/com/intel/jndn/management/types/LocalControlHeader.html
index fa6efeb..02c2f5b 100644
--- a/com/intel/jndn/management/types/LocalControlHeader.html
+++ b/com/intel/jndn/management/types/LocalControlHeader.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>LocalControlHeader (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>LocalControlHeader (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="LocalControlHeader (jndn-management 0.9.8 API)";
+        parent.document.title="LocalControlHeader (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/NextHopRecord.html b/com/intel/jndn/management/types/NextHopRecord.html
index d4150c0..c5c9033 100644
--- a/com/intel/jndn/management/types/NextHopRecord.html
+++ b/com/intel/jndn/management/types/NextHopRecord.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>NextHopRecord (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>NextHopRecord (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="NextHopRecord (jndn-management 0.9.8 API)";
+        parent.document.title="NextHopRecord (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/RibEntry.html b/com/intel/jndn/management/types/RibEntry.html
index 4c651ab..4399fbe 100644
--- a/com/intel/jndn/management/types/RibEntry.html
+++ b/com/intel/jndn/management/types/RibEntry.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:52 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>RibEntry (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>RibEntry (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="RibEntry (jndn-management 0.9.8 API)";
+        parent.document.title="RibEntry (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/Route.html b/com/intel/jndn/management/types/Route.html
index 11eae6c..f39600f 100644
--- a/com/intel/jndn/management/types/Route.html
+++ b/com/intel/jndn/management/types/Route.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Route (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Route (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Route (jndn-management 0.9.8 API)";
+        parent.document.title="Route (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/StatusDataset.html b/com/intel/jndn/management/types/StatusDataset.html
index 5ae8b76..d3d4668 100644
--- a/com/intel/jndn/management/types/StatusDataset.html
+++ b/com/intel/jndn/management/types/StatusDataset.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>StatusDataset (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>StatusDataset (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="StatusDataset (jndn-management 0.9.8 API)";
+        parent.document.title="StatusDataset (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -38,7 +38,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../com/intel/jndn/management/types/Route.html" title="class in com.intel.jndn.management.types"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?com/intel/jndn/management/types/StatusDataset.html" target="_top">Frames</a></li>
@@ -229,7 +229,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../com/intel/jndn/management/types/Route.html" title="class in com.intel.jndn.management.types"><span class="strong">Prev Class</span></a></li>
-<li>Next Class</li>
+<li><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?com/intel/jndn/management/types/StatusDataset.html" target="_top">Frames</a></li>
diff --git a/com/intel/jndn/management/types/StrategyChoice.html b/com/intel/jndn/management/types/StrategyChoice.html
new file mode 100644
index 0000000..54e85f0
--- /dev/null
+++ b/com/intel/jndn/management/types/StrategyChoice.html
@@ -0,0 +1,430 @@
+<!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 (version 1.7.0_51) on Mon May 11 14:26:38 PDT 2015 -->
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>StrategyChoice (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="StrategyChoice (jndn-management 0.10.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/StrategyChoice.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="../../../../../com/intel/jndn/management/types/StatusDataset.html" title="class in com.intel.jndn.management.types"><span class="strong">Prev Class</span></a></li>
+<li>Next Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?com/intel/jndn/management/types/StrategyChoice.html" target="_top">Frames</a></li>
+<li><a href="StrategyChoice.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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">com.intel.jndn.management.types</div>
+<h2 title="Class StrategyChoice" class="title">Class StrategyChoice</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/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>com.intel.jndn.management.types.StrategyChoice</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="strong">StrategyChoice</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a></pre>
+<div class="block">Represent a strategy choice entry.</div>
+<dl><dt><span class="strong">Author:</span></dt>
+  <dd>Andrew Brown <andrew.brown@intel.com></dd>
+<dt><span class="strong">See Also:</span></dt><dd><code>http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice</code></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#TLV_STRATEGY_CHOICE">TLV_STRATEGY_CHOICE</a></strong></code>
+<div class="block">TLV type, see
+ <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#TLV-TYPE-assignments">http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#TLV-TYPE-assignments</a></div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" 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><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#StrategyChoice()">StrategyChoice</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</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>
+<tr class="altColor">
+<td class="colFirst"><code>net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#getName()">getName</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>net.named_data.jndn.Name</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#getStrategy()">getStrategy</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#setName(net.named_data.jndn.Name)">setName</a></strong>(net.named_data.jndn.Name&nbsp;name)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#setStrategy(net.named_data.jndn.Name)">setStrategy</a></strong>(net.named_data.jndn.Name&nbsp;strategy)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#wireDecode(java.nio.ByteBuffer)">wireDecode</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input)</code>
+<div class="block">Decode the input from its TLV format.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#wireDecode(net.named_data.jndn.encoding.tlv.TlvDecoder)">wireDecode</a></strong>(net.named_data.jndn.encoding.tlv.TlvDecoder&nbsp;decoder)</code>
+<div class="block">Decode as part of an existing decode context.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>net.named_data.jndn.util.Blob</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#wireEncode()">wireEncode</a></strong>()</code>
+<div class="block">Encode using a new TLV encoder.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html#wireEncode(net.named_data.jndn.encoding.tlv.TlvEncoder)">wireEncode</a></strong>(net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</code>
+<div class="block">Encode as part of an existing encode context.</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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TLV_STRATEGY_CHOICE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TLV_STRATEGY_CHOICE</h4>
+<pre>public static final&nbsp;int TLV_STRATEGY_CHOICE</pre>
+<div class="block">TLV type, see
+ <a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#TLV-TYPE-assignments">http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice#TLV-TYPE-assignments</a></div>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#com.intel.jndn.management.types.StrategyChoice.TLV_STRATEGY_CHOICE">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StrategyChoice()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StrategyChoice</h4>
+<pre>public&nbsp;StrategyChoice()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="wireEncode()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wireEncode</h4>
+<pre>public final&nbsp;net.named_data.jndn.util.Blob&nbsp;wireEncode()</pre>
+<div class="block">Encode using a new TLV encoder.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>The encoded buffer.</dd></dl>
+</li>
+</ul>
+<a name="wireEncode(net.named_data.jndn.encoding.tlv.TlvEncoder)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wireEncode</h4>
+<pre>public final&nbsp;void&nbsp;wireEncode(net.named_data.jndn.encoding.tlv.TlvEncoder&nbsp;encoder)</pre>
+<div class="block">Encode as part of an existing encode context.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>encoder</code> - </dd></dl>
+</li>
+</ul>
+<a name="wireDecode(java.nio.ByteBuffer)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wireDecode</h4>
+<pre>public final&nbsp;void&nbsp;wireDecode(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;input)
+                      throws net.named_data.jndn.encoding.EncodingException</pre>
+<div class="block">Decode the input from its TLV format.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - The input buffer to decode. This reads from position() to
+ limit(), but does not change the position.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>net.named_data.jndn.encoding.EncodingException</code> - For invalid encoding.</dd></dl>
+</li>
+</ul>
+<a name="wireDecode(net.named_data.jndn.encoding.tlv.TlvDecoder)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wireDecode</h4>
+<pre>public final&nbsp;void&nbsp;wireDecode(net.named_data.jndn.encoding.tlv.TlvDecoder&nbsp;decoder)
+                      throws net.named_data.jndn.encoding.EncodingException</pre>
+<div class="block">Decode as part of an existing decode context.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../com/intel/jndn/management/types/Decodable.html#wireDecode(net.named_data.jndn.encoding.tlv.TlvDecoder)">wireDecode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/intel/jndn/management/types/Decodable.html" title="interface in com.intel.jndn.management.types">Decodable</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>decoder</code> - </dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>net.named_data.jndn.encoding.EncodingException</code></dd></dl>
+</li>
+</ul>
+<a name="getName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;net.named_data.jndn.Name&nbsp;getName()</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the <code>Name</code> of the prefix the strategy is applied to</dd></dl>
+</li>
+</ul>
+<a name="getStrategy()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStrategy</h4>
+<pre>public&nbsp;net.named_data.jndn.Name&nbsp;getStrategy()</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the <code>Name</code> of the strategy</dd></dl>
+</li>
+</ul>
+<a name="setName(net.named_data.jndn.Name)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setName</h4>
+<pre>public&nbsp;void&nbsp;setName(net.named_data.jndn.Name&nbsp;name)</pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the <code>Name</code> to set</dd></dl>
+</li>
+</ul>
+<a name="setStrategy(net.named_data.jndn.Name)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setStrategy</h4>
+<pre>public&nbsp;void&nbsp;setStrategy(net.named_data.jndn.Name&nbsp;strategy)</pre>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>strategy</code> - the <code>Name</code> to set</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/StrategyChoice.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="../../../../../com/intel/jndn/management/types/StatusDataset.html" title="class in com.intel.jndn.management.types"><span class="strong">Prev Class</span></a></li>
+<li>Next Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?com/intel/jndn/management/types/StrategyChoice.html" target="_top">Frames</a></li>
+<li><a href="StrategyChoice.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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; 2015. All rights reserved.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/com/intel/jndn/management/types/class-use/ControlResponse.html b/com/intel/jndn/management/types/class-use/ControlResponse.html
index e6777f2..915e2ca 100644
--- a/com/intel/jndn/management/types/class-use/ControlResponse.html
+++ b/com/intel/jndn/management/types/class-use/ControlResponse.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.ControlResponse (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.ControlResponse (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.ControlResponse (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.ControlResponse (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/Decodable.html b/com/intel/jndn/management/types/class-use/Decodable.html
index 2746591..7d292b5 100644
--- a/com/intel/jndn/management/types/class-use/Decodable.html
+++ b/com/intel/jndn/management/types/class-use/Decodable.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Interface com.intel.jndn.management.types.Decodable (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Interface com.intel.jndn.management.types.Decodable (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Interface com.intel.jndn.management.types.Decodable (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Interface com.intel.jndn.management.types.Decodable (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -126,6 +126,12 @@
  for details</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a></strong></code>
+<div class="block">Represent a strategy choice entry.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
diff --git a/com/intel/jndn/management/types/class-use/FacePersistency.html b/com/intel/jndn/management/types/class-use/FacePersistency.html
index d0133e0..fc4bd98 100644
--- a/com/intel/jndn/management/types/class-use/FacePersistency.html
+++ b/com/intel/jndn/management/types/class-use/FacePersistency.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.FacePersistency (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.FacePersistency (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.FacePersistency (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.FacePersistency (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/FaceScope.html b/com/intel/jndn/management/types/class-use/FaceScope.html
index ff34c04..8a44815 100644
--- a/com/intel/jndn/management/types/class-use/FaceScope.html
+++ b/com/intel/jndn/management/types/class-use/FaceScope.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.FaceScope (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.FaceScope (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.FaceScope (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.FaceScope (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/FaceStatus.html b/com/intel/jndn/management/types/class-use/FaceStatus.html
index 1ef7611..7ba323a 100644
--- a/com/intel/jndn/management/types/class-use/FaceStatus.html
+++ b/com/intel/jndn/management/types/class-use/FaceStatus.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.FaceStatus (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.FaceStatus (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.FaceStatus (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.FaceStatus (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/FibEntry.html b/com/intel/jndn/management/types/class-use/FibEntry.html
index 80595cb..f5f26e7 100644
--- a/com/intel/jndn/management/types/class-use/FibEntry.html
+++ b/com/intel/jndn/management/types/class-use/FibEntry.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.FibEntry (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.FibEntry (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.FibEntry (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.FibEntry (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/ForwarderStatus.html b/com/intel/jndn/management/types/class-use/ForwarderStatus.html
index a95a95d..a7a0311 100644
--- a/com/intel/jndn/management/types/class-use/ForwarderStatus.html
+++ b/com/intel/jndn/management/types/class-use/ForwarderStatus.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.ForwarderStatus (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.ForwarderStatus (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.ForwarderStatus (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.ForwarderStatus (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/LinkType.html b/com/intel/jndn/management/types/class-use/LinkType.html
index 780729c..9e58752 100644
--- a/com/intel/jndn/management/types/class-use/LinkType.html
+++ b/com/intel/jndn/management/types/class-use/LinkType.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.LinkType (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.LinkType (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.LinkType (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.LinkType (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/LocalControlHeader.html b/com/intel/jndn/management/types/class-use/LocalControlHeader.html
index d86e866..970d499 100644
--- a/com/intel/jndn/management/types/class-use/LocalControlHeader.html
+++ b/com/intel/jndn/management/types/class-use/LocalControlHeader.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.LocalControlHeader (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.LocalControlHeader (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.LocalControlHeader (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.LocalControlHeader (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/NextHopRecord.html b/com/intel/jndn/management/types/class-use/NextHopRecord.html
index aa672cd..cf842e2 100644
--- a/com/intel/jndn/management/types/class-use/NextHopRecord.html
+++ b/com/intel/jndn/management/types/class-use/NextHopRecord.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.NextHopRecord (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.NextHopRecord (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.NextHopRecord (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.NextHopRecord (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/RibEntry.html b/com/intel/jndn/management/types/class-use/RibEntry.html
index 930f94a..a7216f7 100644
--- a/com/intel/jndn/management/types/class-use/RibEntry.html
+++ b/com/intel/jndn/management/types/class-use/RibEntry.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.RibEntry (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.RibEntry (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.RibEntry (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.RibEntry (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/Route.html b/com/intel/jndn/management/types/class-use/Route.html
index 49057da..a2adf55 100644
--- a/com/intel/jndn/management/types/class-use/Route.html
+++ b/com/intel/jndn/management/types/class-use/Route.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.Route (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.Route (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.Route (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.Route (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/StatusDataset.html b/com/intel/jndn/management/types/class-use/StatusDataset.html
index 5631b9b..5aaf30d 100644
--- a/com/intel/jndn/management/types/class-use/StatusDataset.html
+++ b/com/intel/jndn/management/types/class-use/StatusDataset.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Class com.intel.jndn.management.types.StatusDataset (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Class com.intel.jndn.management.types.StatusDataset (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class com.intel.jndn.management.types.StatusDataset (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Class com.intel.jndn.management.types.StatusDataset (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
diff --git a/com/intel/jndn/management/types/class-use/StrategyChoice.html b/com/intel/jndn/management/types/class-use/StrategyChoice.html
new file mode 100644
index 0000000..3804df8
--- /dev/null
+++ b/com/intel/jndn/management/types/class-use/StrategyChoice.html
@@ -0,0 +1,161 @@
+<!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 (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>Uses of Class com.intel.jndn.management.types.StrategyChoice (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class com.intel.jndn.management.types.StrategyChoice (jndn-management 0.10.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">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?com/intel/jndn/management/types/class-use/StrategyChoice.html" target="_top">Frames</a></li>
+<li><a href="StrategyChoice.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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 com.intel.jndn.management.types.StrategyChoice" class="title">Uses of Class<br>com.intel.jndn.management.types.StrategyChoice</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</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="#com.intel.jndn.management">com.intel.jndn.management</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="com.intel.jndn.management">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a> in <a href="../../../../../../com/intel/jndn/management/package-summary.html">com.intel.jndn.management</a></h3>
+<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../com/intel/jndn/management/package-summary.html">com.intel.jndn.management</a> that return types with arguments of type <a href="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</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>static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;</code></td>
+<td class="colLast"><span class="strong">NFD.</span><code><strong><a href="../../../../../../com/intel/jndn/management/NFD.html#getStrategyList(net.named_data.jndn.Face)">getStrategyList</a></strong>(net.named_data.jndn.Face&nbsp;forwarder)</code>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="../../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">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?com/intel/jndn/management/types/class-use/StrategyChoice.html" target="_top">Frames</a></li>
+<li><a href="StrategyChoice.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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; 2015. All rights reserved.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/com/intel/jndn/management/types/package-frame.html b/com/intel/jndn/management/types/package-frame.html
index 438881d..88f79ac 100644
--- a/com/intel/jndn/management/types/package-frame.html
+++ b/com/intel/jndn/management/types/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management.types (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management.types (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
@@ -25,6 +25,7 @@
 <li><a href="RibEntry.html" title="class in com.intel.jndn.management.types" target="classFrame">RibEntry</a></li>
 <li><a href="Route.html" title="class in com.intel.jndn.management.types" target="classFrame">Route</a></li>
 <li><a href="StatusDataset.html" title="class in com.intel.jndn.management.types" target="classFrame">StatusDataset</a></li>
+<li><a href="StrategyChoice.html" title="class in com.intel.jndn.management.types" target="classFrame">StrategyChoice</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/com/intel/jndn/management/types/package-summary.html b/com/intel/jndn/management/types/package-summary.html
index 1f1ba65..409b3d1 100644
--- a/com/intel/jndn/management/types/package-summary.html
+++ b/com/intel/jndn/management/types/package-summary.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management.types (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management.types (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.intel.jndn.management.types (jndn-management 0.9.8 API)";
+        parent.document.title="com.intel.jndn.management.types (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -154,6 +154,12 @@
  <a href="http://redmine.named-data.net/projects/nfd/wiki/StatusDataset">http://redmine.named-data.net/projects/nfd/wiki/StatusDataset</a></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a></td>
+<td class="colLast">
+<div class="block">Represent a strategy choice entry.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/com/intel/jndn/management/types/package-tree.html b/com/intel/jndn/management/types/package-tree.html
index f58db48..51c1dce 100644
--- a/com/intel/jndn/management/types/package-tree.html
+++ b/com/intel/jndn/management/types/package-tree.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>com.intel.jndn.management.types Class Hierarchy (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>com.intel.jndn.management.types Class Hierarchy (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="com.intel.jndn.management.types Class Hierarchy (jndn-management 0.9.8 API)";
+        parent.document.title="com.intel.jndn.management.types Class Hierarchy (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -83,6 +83,7 @@
 <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="strong">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="strong">Route</span></a></li>
 <li type="circle">com.intel.jndn.management.types.<a href="../../../../../com/intel/jndn/management/types/StatusDataset.html" title="class in com.intel.jndn.management.types"><span class="strong">StatusDataset</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="strong">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>
 </ul>
 </li>
 </ul>
diff --git a/com/intel/jndn/management/types/package-use.html b/com/intel/jndn/management/types/package-use.html
index be30a0c..37ec88f 100644
--- a/com/intel/jndn/management/types/package-use.html
+++ b/com/intel/jndn/management/types/package-use.html
@@ -2,16 +2,16 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (version 1.7.0_51) on Mon Apr 13 09:43:53 PDT 2015 -->
+<!-- Generated by javadoc (version 1.7.0_51) on Mon May 11 14:26:39 PDT 2015 -->
 <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>Uses of Package com.intel.jndn.management.types (jndn-management 0.9.8 API)</title>
-<meta name="date" content="2015-04-13">
+<title>Uses of Package com.intel.jndn.management.types (jndn-management 0.10.0 API)</title>
+<meta name="date" content="2015-05-11">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 </head>
 <body>
 <script type="text/javascript"><!--
     if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Package com.intel.jndn.management.types (jndn-management 0.9.8 API)";
+        parent.document.title="Uses of Package com.intel.jndn.management.types (jndn-management 0.10.0 API)";
     }
 //-->
 </script>
@@ -134,6 +134,11 @@
  for details</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../com/intel/jndn/management/types/class-use/StrategyChoice.html#com.intel.jndn.management">StrategyChoice</a>
+<div class="block">Represent a strategy choice entry.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
